(crm笔记2-6)用户登录问题之cookie记住密码

原创 2017年10月06日 16:31:13

用户登录问题之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

版权声明:本文为博主原创文章,转载请注明出处

js实现cookie记住密码

近来做记住密码时,用js的实现方式做了一下。 login.jsp页面代码
  • u013614451
  • u013614451
  • 2014年12月27日 23:21
  • 1922

关于用户登录的记住密码实现思路(考虑到安全问题)

做网站的时候经常会碰到要实现记住密码,下次自动登录,一周内免登陆,一个月内免登陆这种需求。这种功能一般都是通过cookie来实现的。 整个过程就是用户在登陆的时候,如果选择了记住密码或者一周内免登陆...
  • lovely_1014
  • lovely_1014
  • 2017年02月04日 10:40
  • 664

Cookie学习总结-登陆案例(记住用户名和密码)

LoginServlet.javapackage blank.servlet;import java.io.IOException;import javax.servlet.ServletExcept...
  • LeoLeoHan
  • LeoLeoHan
  • 2015年03月20日 23:05
  • 2937

cookie、session及实现记住密码,自动登录

来源url:http://heyohsmm.blog.51cto.com/4207140/1259615 在登录帐号、密码框下,有三种帐号登录模式可供选择,用户可根据自己的具体情况选择其中一...
  • u013160024
  • u013160024
  • 2014年04月28日 11:30
  • 4565

Jsp使用Cookie完成记住账号密码的功能

网站中对于记住账号密码,方便下次登录的使用非常普遍,那么它是怎么实现的呢? 首先他的流程是,设计一个复选框,当选中复选框时,就会传值到处理页面,复选框的用途就是判断用户是否愿意记住账号密码。 我们...
  • weixin_36380516
  • weixin_36380516
  • 2017年04月05日 21:15
  • 5845

通过jquery.cookie.js实现记住用户名、密码登录功能

无标题文档 function setCookie(){ //设置cookie var loginCode = $("#login_code").val(); //...
  • baidu_28283827
  • baidu_28283827
  • 2016年11月08日 16:24
  • 4290

JavaWeb使用cookie实现记住密码,密码加密

登录几乎是每个项目都具有的功能,记住密码也是常见的部分,在用户登录时,实现记住密码的功能一般使用两个方法来实现: 使用cookie,将登录信息存入cookie,存储在用户本地。 持久化,将登录信息存入...
  • vili_sky
  • vili_sky
  • 2017年06月22日 15:18
  • 1859

记住密码的安全

记住密码
  • Q176782
  • Q176782
  • 2016年05月22日 11:11
  • 1299

JavaWeb学习----Cookie实现记住密码的功能

欢迎转载,但请保留文章原始出处→_→  生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/409...
  • majian_1987
  • majian_1987
  • 2015年06月11日 16:27
  • 16122

java web 使用cookie记住用户的账号密码

毕业设计中需要用到记住账号密码的功能,网上搜到了一个解决方案,自己稍加改造就是下面的方法。 首先是登录的页面,当用户勾选记住密码,传递给controller(我用的SSM框架),后台设置cookie...
  • W3Chhhhhh
  • W3Chhhhhh
  • 2017年01月10日 10:53
  • 3336
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:(crm笔记2-6)用户登录问题之cookie记住密码
举报原因:
原因补充:

(最多只允许输入30个字)