java实现记住密码功能(利用cookie)

<br>
<input type="text" id="userName" name="userName" value="${username }" placeholder="用户名">
<br>
<input type="password" id="pwd" name="pwd" maxLength="50" value="${password }" placeholder="密码">
<br>
<label for="remember-me">
    <input name="aaaa" type="checkbox" onclick="remember();">
                  记住密码 
</label>

js代码:

$(document).ready(function(){
        //记住密码功能
        var str = getCookie("loginInfo");
        str = str.substring(1,str.length-1);
        var username = str.split(",")[0];
        var password = str.split(",")[1];
        //自动填充用户名和密码
        $("#userName").val(username);
        $("#pwd").val(password);
});

//获取cookie
function getCookie(cname) {
    var name = cname + "=";
    var ca = document.cookie.split(';');
    for(var i=0; i<ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1);
        if (c.indexOf(name) != -1) return c.substring(name.length, c.length);
    }
    return "";
}

//记住密码功能
function remember(){
    var remFlag = $("input[type='checkbox']").is(':checked');
    if(remFlag==true){ //如果选中设置remFlag为1
        //cookie存用户名和密码,回显的是真实的用户名和密码,存在安全问题.
        var conFlag = confirm("记录密码功能不宜在公共场所(如网吧等)使用,以防密码泄露.您确定要使用此功能吗?");
        if(conFlag){ //确认标志
            $("#remFlag").val("1");
        }else{
            $("input[type='checkbox']").removeAttr('checked');
            $("#remFlag").val("");
        }
    }else{ //如果没选中设置remFlag为""
        $("#remFlag").val("");
    }
}

后台:

         //用户名
         String name = request.getParameter("userName");
         //密码
         String passWord = request.getParameter("pwd");
         
         //记住用户名、密码功能(注意:cookie存放密码会存在安全隐患)
         String remFlag = request.getParameter("remFlag");
         if("1".equals(remFlag)){ //"1"表示用户勾选记住密码
             /*String cookieUserName = Utils.encrypt(name);
             String cookiePwd = Utils.encrypt(passWord);
             String loginInfo = cookieUserName+","+cookiePwd;*/
             String loginInfo = name+","+passWord;
             Cookie userCookie=new Cookie("loginInfo",loginInfo); 

             userCookie.setMaxAge(30*24*60*60);   //存活期为一个月 30*24*60*60
             userCookie.setPath("/");
             response.addCookie(userCookie); 
         }

 

posted @ 2016-11-30 17:23  super超人  阅读(24975)  评论(8编辑  收藏  举报