一天之内,如果用户登录失败三次,那么今天就不允许登录了

问题描述

如题,我现在想法是,建立一张登录失败表,里面有登录失败的日期。登录的时候,如果今天有三条记录了,那么就不允许登录了。大家看看我这个想法是否正确,还有没有更好的实现方法。我用的是spring security ,如果里面有类似的功能,就更好了。知道的,说一下,谢谢。还有个问题,如果用180天未登录,就锁死用户,这个应该如何实现。我现在的想法是,数据库里面设置定时任务,每天或者每周执行,和最后登录日期比较。大家提提意见。 问题补充:如果你登录成功一次,就把今天登录失败的记录都删除掉,恩,实际操作的时候遇到了这个问题,这样解决的。180天那个最后是最后登录日期+180的方法解决的。Rainbow702 写道

解决方案

对于你第一个需求,我做过类似的,我的数据库种也有一张表 专门记录失败次数,但是我的需求更多,是在一段时间内登陆3此失败的,比如一小时这样的。我的在前台是用cookie记录的,cookie不是有时间限制么,我就设置一小时,你的话可以设置一天,这样的话就不用老是用数据库读取时间。 假如你觉得cookie可以被关闭,这个方法不好,那我告诉你,现在不用cookie的web应用基本不可能了,连你系统的很多基本功能都完成不了,所以不必担心此问题,另外,你可以判断用户是否禁用了cookie。 还有,你第二个需求 不要用每天定时任务,因为会耗费大的内存开销。你就记录他最后一次登陆时间,然后手动算出 logintime+180天这个时间。
解决方案二:
不用这么麻烦 建两个字段 一个登录日期 一个登陆错误次数 日期不相同 错误次数是1 日期改为当时日期 ; 相同 错误次数+1
解决方案三:
引用如题,我现在想法是,建立一张登录失败表,里面有登录失败的日期。登录的时候,如果今天有三条记录了,那么就不允许登录了。这个不行的吧,如果用户先登陆失败一两次,但第三次他登陆成功了,接着,他又想登陆的时候,如果第一次又失败了,那么此时,表中就有三条记录了,那么用户就无法登陆了,但这是不合理的。我觉得可以这么设计:表中用一个字段来记录最后一次登陆时间,再用另一个字段来记录失败的次数,若登陆成功,则将登陆失败次数清零。180锁定用户的那个法子应该是可行的,Quartz + Spring 可以设置定时任务的.
解决方案四:
这么做可以啊。还可以定期清除旧数据,防止数据越来越多。180天未登录也好做,给用户表加个字段,记录最后登录成功的时间就可以了。

时间: 2024-10-24 10:19:46

一天之内,如果用户登录失败三次,那么今天就不允许登录了的相关文章

服务器返回登录失败,是怎么回事?

问题描述 服务器返回登录失败,提示:logInfalse(null),error 已登录,请先调用logOff .这是怎么回事? 解决方案 正在登陆的时候又发起了登陆请求.

java-JAVA链接sqlserver 2008 R2 出现用户sa登录失败

问题描述 JAVA链接sqlserver 2008 R2 出现用户sa登录失败 验证模式是windows和sqlserver身份验证,使用nacicat测试连接的时候也成功了,就是部署的时候 运行就报登录失败的错误,自己新建了个用户,测试成功之后,更换连接还是同样的错误 解决方案 还是给自己了 到最后没解决,换成别的了 解决方案二: 你的sql server需要混合验证,才能启用sa账户. 解决方案三: 我已经开启混合验证了

服务器-linux下root用户切换到普通用户执行ssh远程登录失败

问题描述 linux下root用户切换到普通用户执行ssh远程登录失败 这样,我想做一个web一件抓取日志的小程序,后台python调用ssh登录到远程主机执行系统命令抓取符合条件的日志,这个程序集成在一个运行在root下的web站中,然而服务器 设定了root用户不能用ssh远程登录.我想请教是否可能在程序中切换到普通用户登录ssh远程登录其他主机执行ssh命令,然后再切回root...或者是否有其他好的方法来实现这一 功能.(很多台服务器,一次性抓取符合条件的日志) 解决方案 linux下如

sqlserver-关于eclipse连接sql server2005报错 用户sa登录失败

问题描述 关于eclipse连接sql server2005报错 用户sa登录失败 各种方法都试过了,TCP开了 sql服务也开了,browser也重启了 ,sql驱动加载了 ..数据库可以登录,求大神帮忙啊... 解决方案 你数据库可以登录,是用sa登录的,还是用Windows集成验证登录的?请确保启用了sa登录 解决方案二: 上面的答案有帮助吗?如果还有问题,请提出来,如果对答案满意,请顶一下,并标记为采纳答案,谢谢! 解决方案三: 你这个跟什么TCP的没关系,那个一般是sa的密码问题或者没

环信无法获取用户列表,提示登录失败,昨天还可以登录的!!

问题描述 环信无法获取用户列表,提示登录失败,昨天还可以登录的!!在环信 客户端,点击IM用户 ,一直提示 '正在读取数据'-------------------------------------------------------后台报错日志: <html><head><title>502 Bad Gateway</title></head><body bgcolor="white"><h1>502

Oracle用户连续登录失败次数限制如何取消_oracle

当用户连续登录失败次数过多时,Oracle会锁定该用户,"FAILED_LOGIN_ATTEMPTS"用于设置最大次数,超过该值则锁定该帐号. 要取消用户连续登录失败次数的限制可以按照以下方法操作: 1. 输入以下命令,查看"FAILED_LOGIN_ATTEMPTS"的值: SQL> select * from dba_profiles s where s.profile='DEFAULT' and resource_name='FAILED_LOGIN_A

win7 IIS7 无法打开登录所请求的数据库 &amp;amp;quot;dbdesign&amp;amp;quot;登录失败。用户 &amp;amp;#x27;IIS APPPOOL\DefaultAppPool&amp;amp;#x27; 登录失败

问题描述 ServerErrorin'/'Application.--------------------------------------------------------------------------------无法打开登录所请求的数据库"dbdesign".登录失败.用户'IISAPPPOOLDefaultAppPool'登录失败.windows76.1(7100)IIS7version7.5.7100.0 解决方案 解决方案二:该回复于2009-06-05 11:18

连接数据库成功 com.microsoft.sqlserver.jdbc.SQLServerException: 用户 &amp;amp;#x27;&amp;amp;#x27; 登录失败。 ClientConne

问题描述 packagebuyticket;importjava.awt.*;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;importjav

用户 &amp;amp;#x27;(null)&amp;amp;#x27; 登录失败。原因: 未与信任 SQL Server 连接相关联。 大哥大姐帮帮我好吗?

问题描述 SqlConnectionmyConnection=newSqlConnection("Server=localhost;uid=;pwd=;database=star");myConnection.Open();stringstrsql="Insertintostarvalues('"+this.name.Text+"')";SqlCommandmyCommand=newSqlCommand(strsql,myConnection);