session 存储登录信息,超5次等待1分钟
来源:互联网 发布:eplan2.6破解软件 编辑:程序博客网 时间:2024/05/20 08:01
简单说明:
用户登录缓存到session,用户登录错误次数超过5次,等待1分钟
import java.util.Date;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import com.ly.cloud.soc.entity.login.UserLoginInfo;/** * @author krs * @date 创建时间2017年10月20日 上午11:33:25 * @describe 处理用户登录的信息 */public class SessionUtils {private static final String SESSION_USER_LOGIN = "session_user_login_";private static int LIMIT_TIME = 1*60*1000; //登录错误的限制/** * *@describe 往session添加用户登录的错误信息 *@param request *@param response *@param username */public static void addUserError(HttpServletRequest request, HttpServletResponse response, String username) {HttpSession session = request.getSession();String key = SESSION_USER_LOGIN + username;UserLoginInfo uli = (UserLoginInfo) session.getAttribute(key);if(uli != null){//第5次就不添加if(uli.getCount() < 6){uli.setCount(uli.getCount()+1);uli.setLoginTime(new Date());}}else{uli = new UserLoginInfo();uli.setCount(1);uli.setUsername(username);uli.setLoginTime(new Date());}//更新sesion里面的值session.setAttribute(key, uli);}/** * *@describe 验证用户用户是否登录失败超5次。时间过5分钟允许登录 *@param request *@param response *@param yhzh *@return */public static boolean checkUserLogin(HttpServletRequest request, HttpServletResponse response, String username) {boolean flag = false;HttpSession session = request.getSession();String key = SESSION_USER_LOGIN + username;UserLoginInfo uli = (UserLoginInfo) session.getAttribute(key);if(uli != null){Date loginTime = uli.getLoginTime();if(uli.getCount() >= 5 ){//小于5分钟boolean time = (System.currentTimeMillis()-loginTime.getTime()) <= LIMIT_TIME;if(time){flag = true;}else{//超过5分钟,清空sessionsession.setAttribute(key, null);}}}return flag;}}import java.util.Date;/** * @author krs * @date 创建时间2017年10月20日 上午11:50:45 * @describe 用户登录信息 */public class UserLoginInfo {//用户登录账号private String username;//用户最后登录时间private Date loginTime;//用户登录错误的次数private int count;public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public Date getLoginTime() {return loginTime;}public void setLoginTime(Date loginTime) {this.loginTime = loginTime;}public int getCount() {return count;}public void setCount(int count) {this.count = count;}}
阅读全文
0 0
- session 存储登录信息,超5次等待1分钟
- Session 用户存储登录信息
- 2017-05-11 DBA日记,导致log file sync单次等待超500ms又一可能
- PHP进阶:使用session来存储用户的登录信息
- 使用session来存储用户的登录信息
- 使用session来存储用户的登录信息
- 【codeforces 721B】B. Passwords【输入密码按长度非递减顺序输入,每输一次耗时1秒,输错k次等待5秒,最后一行为正确密码,问消耗的最少和最多时间】
- 使用session保存登录信息
- nodeJs session记住登录信息
- session保存/取登录信息
- PHP学习笔记:使用session来存储用户的登录信息
- 数据库中存储Session信息
- 登录信息的存储案例
- centos6.5部署openldap信息存储主机快速登录
- session 禁止未登录越权浏览信息
- Struts2通过session暂存登录信息
- cookie session 保存用户登录信息
- php 使用session保存页面登录信息
- 在Python中运行自定义包或模块
- linux目录
- Effect(十一)—— SkillAreaEffect
- redis info命令详解
- JavaWeb学习心得之Tomcat服务器(二)
- session 存储登录信息,超5次等待1分钟
- iview组件使用总结
- C语言——产生一个随机字符或者随机数
- 打印两个有序链表的公共部分
- java线程
- C++ 虚析构函数
- NOIP 模拟题 消失的数字
- Android压力测试三 MonkeyRunner
- linux学习