多次密码输入错误,冻结登录。
新建一个登录控制的类,参数为:登录次数,控制时间,控制的商编(用户名),控制类型。
在登录的时候做密码是否正确的判断。
在用户实体中,创建方法 判断密码是否正确。返回boolean。
在登录的方法中,验证登录次数。
首先根据用户名,控制类型,去数据库中取 控制登录 的记录 只有一条(首次登录时并且发生错误 新创建一条记录 设置登录次数为1)
然后判断这次登录时间与 取出来的 控制记录中的时间差 同时取得控制记录的 登录次数
然后比对,时间差 小于 自定义的时间差 并且 登录次数大于 自定义的登录次数直接返回false。
如果验证失败,并且时间间隔 小于 自定义的时间差 登录控制记录次数+1
如果时间间隔 不小于 自定义时间差 控制记录次数为1
如果登录成功,登录控制记录次数归零 同时 设置登录控制记录的 控制时间 为当前时间
代码:
登录记录控制类
public class LoginControl extends AutoIDEntity {
/**
* 次数
*/
private int frequency;
/**
* 控制时间
*/
private Date controlTime;
/**
* 控制的用户
*/
private String controlTarget;
/**
* 控制类型
*/
private ControlType controlType;
public LoginControl(){
}
public LoginControl(String controlTarget){
新建一个登录控制的类,参数为:登录次数,控制时间,控制的商编(用户名),控制类型。
在登录的时候做密码是否正确的判断。
在用户实体中,创建方法 判断密码是否正确。返回boolean。
在登录的方法中,验证登录次数。
首先根据用户名,控制类型,去数据库中取 控制登录 的记录 只有一条(首次登录时并且发生错误 新创建一条记录 设置登录次数为1)
然后判断这次登录时间与 取出来的 控制记录中的时间差 同时取得控制记录的 登录次数
然后比对,时间差 小于 自定义的时间差 并且 登录次数大于 自定义的登录次数直接返回false。
如果验证失败,并且时间间隔 小于 自定义的时间差 登录控制记录次数+1
如果时间间隔 不小于 自定义时间差 控制记录次数为1
如果登录成功,登录控制记录次数归零 同时 设置登录控制记录的 控制时间 为当前时间
代码:
登录记录控制类
public class LoginControl extends AutoIDEntity {
/**
* 次数
*/
private int frequency;
/**
* 控制时间
*/
private Date controlTime;
/**
* 控制的用户
*/
private String controlTarget;
/**
* 控制类型
*/
private ControlType controlType;
public LoginControl(){
}
public LoginControl(String controlTarget){

这篇博客讨论了如何实现一个登录控制机制,当用户多次输入错误密码时,会冻结登录。通过创建一个登录控制类,包含登录次数、控制时间和用户标识等参数,以及在用户实体中添加密码验证方法,系统会在用户尝试登录时检查密码是否正确并验证登录次数。如果超过预设限制,将在一定时间内禁止登录。此外,还提供了具体的代码实现细节。

763

被折叠的 条评论
为什么被折叠?



