登录错误次数限制工具类
2012-07-09 09:59
477 查看
/**
* 错误登录记录,返回是否允许登录true/false和登录错误次数
*/
public HashMap<String, Integer> getLoginConfine(String condition) {
HashMap<String, Integer> flag = new HashMap<String, Integer>();
try {
//查询错误登录记录表中有无此用户登录错误信息
LoginConfine confine = service.loginError(condition);
if (confine != null) {
/*
* 计算时间差
*/
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date d1 = df.parse(SystemUtils.dateFormatString(new Date()));
Date d2 = df.parse(SystemUtils.dateFormatString(confine
.getLoginTime()));
long diff = d1.getTime() - d2.getTime();
long days = diff / (1000 * 60 * 60 * 24);
if (confine.getErrorNum() < 5) {
if (days >= 1) {
service.deleteErrorNum(condition);
flag.put("true", 0);
} else if (days < 1) {
flag.put("true", confine.getErrorNum());
}
} else if (confine.getErrorNum() >= 5) {
if (days >= 1) {
service.deleteErrorNum(condition);
flag.put("true", 0);
} else if (days < 1) {
flag.put("false", confine.getErrorNum());
}
}
} else {
flag.put("true", 0);
}
} catch (Exception e) {
e.printStackTrace();
}
return flag;
}
/------------------------------------------table sql-------------------------/
delimiter $$
CREATE TABLE `login_confine` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`user_id` varchar(32) NOT NULL,
`user_name` varchar(45) NOT NULL,
`error_num` int(11) NOT NULL,
`login_time` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='商户登录错误记录表'$$
* 错误登录记录,返回是否允许登录true/false和登录错误次数
*/
public HashMap<String, Integer> getLoginConfine(String condition) {
HashMap<String, Integer> flag = new HashMap<String, Integer>();
try {
//查询错误登录记录表中有无此用户登录错误信息
LoginConfine confine = service.loginError(condition);
if (confine != null) {
/*
* 计算时间差
*/
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date d1 = df.parse(SystemUtils.dateFormatString(new Date()));
Date d2 = df.parse(SystemUtils.dateFormatString(confine
.getLoginTime()));
long diff = d1.getTime() - d2.getTime();
long days = diff / (1000 * 60 * 60 * 24);
if (confine.getErrorNum() < 5) {
if (days >= 1) {
service.deleteErrorNum(condition);
flag.put("true", 0);
} else if (days < 1) {
flag.put("true", confine.getErrorNum());
}
} else if (confine.getErrorNum() >= 5) {
if (days >= 1) {
service.deleteErrorNum(condition);
flag.put("true", 0);
} else if (days < 1) {
flag.put("false", confine.getErrorNum());
}
}
} else {
flag.put("true", 0);
}
} catch (Exception e) {
e.printStackTrace();
}
return flag;
}
/------------------------------------------table sql-------------------------/
delimiter $$
CREATE TABLE `login_confine` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`user_id` varchar(32) NOT NULL,
`user_name` varchar(45) NOT NULL,
`error_num` int(11) NOT NULL,
`login_time` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='商户登录错误记录表'$$
相关文章推荐
- php用户登陆代码(限制用户错误登录次数)(1/2)
- 登录错误次数限制及参数化传递防止sql注入
- asp.net限制用户登录错误次数
- asp.net限制用户登录错误次数
- 登录错误次数限制springmvc+spring+mybatis五次锁定24小时解锁
- cas 入门之二十一:用户错误登录次数限制
- 取消Oracle用户密码登录错误次数限制
- 登录超过错误次数 等待时间段后重新登录
- 黑马程序员-ADO.NET登录页面中的错误次数过多禁止登陆
- 【Java】SpringMVC项目利用Shiro设置固定时间内密码登录重试次数限制
- Oracle 用户登录错误次数修改
- 用户登录限制-----错误后锁定机制的讨论
- win7利用组策略设置电脑开机登录密码次数限制技巧图解
- SpringBoot+Shiro学习之密码加密和登录失败次数限制示例
- 登录失败次数限制(原生php代码实现)
- PL/SQL基础编程之(十)[SQL、EM创建用户、角色][授权、配置文件、限制登录次数锁定用户]
- winfron用户登录完整版,可限制用户登录次数
- SpringBoot+Shiro学习之密码加密和登录失败次数限制
- redhat5.4的SSH限制登录密码尝试次数
- spring security实现限制登录次数功能