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