(crm笔记2-6)用户登录问题之cookie记住密码
来源:互联网 发布:linux删除组命令 编辑:程序博客网 时间:2024/05/14 02:29
用户登录问题之cookie记住密码
1、需求
这个功能其实随处可见,任何一个网站都需要在用户登录后为用户记住密码,哪怕用户不用记住,你也要提供这个功能,而且需求很简单,只要在用户登录成功后,根据“记住我”这个单选框是否勾选,勾选则实现记住密码,而且在用户登录的一定时间内,用户可以随意登录网站。
2、思路分析:
前面已经实现对用户信息验证,现在需要对用户登录后的信息进行保存,也就是在登录成功后,所以信息的保存需要在Action中,而且需要在验证通过后才能进行这个方法对信息进行保存。
1)登录成功的用户在一定时间内,再次登录不需密码,用户信息需要保存在session会话中
2)利用cookie对信息进行保存,实现保存方法,放置在信息验证成功后调用
3)在前端页面获取保存的cookie,对cookie内的信息进行读取,并显示在对应的输入框中。
3、代码实现
1)保存用户到session中
//在信息验证成功后,添加该方法,保存对象SessionUtils.setSysUserToSession(request,sysUser);
方法实现
/** * 保存当前登录用户信息到session中 * @param request * @param sysUser */public static void setSysUserToSession(HttpServletRequest request,SysUser sysUser) { HttpSession session=request.getSession(); if(sysUser==null){ return; } session.setAttribute("sysUserKey", sysUser);}
2)将信息添加到cookie中
... //登录成功 SessionUtils.setSysUserToSession(request,sysUser); //处理cookie addCookie(name,password_ ,response,request); return "main";
添加cookie方法实现addCookie:
private void addCookie(String name, String password_, HttpServletResponse response, HttpServletRequest request) { if(StringUtils.isNotBlank(name)&&StringUtils.isNotBlank(password)){ //创建cookie Cookie nameCookie=new Cookie("name",java.net.URLEncoder.encode(name)); Cookie passwordCookie=new Cookie("password",password); //设置保存 String rememberMe=request.getParameter("rememberMe"); if(rememberMe==null){//不保存cookie nameCookie.setMaxAge(0); passwordCookie.setMaxAge(0); }else{//保存,设置保存时间 nameCookie.setMaxAge(7*24*3600); passwordCookie.setMaxAge(7*24*3600); } //加入cookie到响应头 response.addCookie(nameCookie); response.addCookie(passwordCookie); }
3)在jsp页面对cookie中的信息显示在对应的输入框中
<% String name=""; String password=""; String checked=""; Cookie[] cookies=request.getCookies(); if(cookies.length>0&&cookies!=null){ for(int i=0;i<cookies.length;i++){ Cookie cookie=cookies[i]; System.out.println(cookie.getName()+": "+ cookie.getValue()); if("name".equals(cookie.getName())){ name=URLDecoder.decode(cookie.getName(),"utf-8");//对于中文汉字进行解码 checked="checked"; } if("password".equals(cookie.getName())){ password=cookie.getValue(); } } }%>
4)在对应的输入框中显示value
value="<%= name %>"
在“记住我”单选框中加入是否选中:
<%=checked %>
这样就成功了!
版权声明:本文为博主原创文章,转载请注明出处:http://blog.csdn.net/wearge/article/details/78165823
阅读全文
0 0
- (crm笔记2-6)用户登录问题之cookie记住密码
- (crm笔记2-5)用户登录问题之验证账户
- 用户登录记住密码
- 用户登录记住密码
- 用户登录记住密码
- 用户登录记住密码
- 用户登录记住密码
- 用户登录记住密码
- 用户登录记住密码
- 用户登录记住密码
- 用户登录记住密码
- 用户登录记住密码
- 用户登录记住密码
- 用户登录记住密码
- 用户登录记住密码
- 用户登录记住密码
- 用户登录记住密码
- 用户登录记住密码
- 各种数学名词的单词
- 自然数幂和(拉格朗日插值法)
- 对html,css,和JavaScript的粗浅认识
- 深入理解 Block
- servlet中forword与sendredirect的区别
- (crm笔记2-6)用户登录问题之cookie记住密码
- 四旋翼飞行器旋转矩阵公式推导!
- openstack
- 【XSY2535】整数 NTT
- 【Matlab】记录几个常用的Matlab toolbox
- JIRA Core、JIRA Software、JIRA Service Desk的区别
- 【SSLGZ 2759】挖矿(dp)
- [STL乱搞]51 Nod——1573 美丽的集合
- termios