Java实现登录时cookie记住密码

Posted 蜜桃婷婷酱

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java实现登录时cookie记住密码相关的知识,希望对你有一定的参考价值。

Java实现登录时cookie记住密码,下次登录不用重新输入密码,自动记住密码进行登录

首先写一个页面登录表单,还有它对应的js

<%--
  Created by IntelliJ IDEA.
  User: wx_weiyihe
  Date: 2021/8/30
  Time: 15:50
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <form method="post" action="/cookie">
        用户名:<input type="text" name="username" id="username"><br>
        密码:<input type="password" name="password" id="password"><br>
        <input type="checkbox" name="remember" id="remember" value="true">记住密码<br>
        <input type="submit" value="登录">
    </form>
</body>
<script>
    var cookies=document.cookie.split(";");
    function getCK(mkey) {
        for(var i=0;i<cookies.length;i++){
            var kv=cookies[i].split("=");
            if(kv[0].trim()==mkey){
                return kv[1].trim();
            }
        }
        return  "";
    }
    window.onload=function(){
        var remember=getCK("remember");
        var username=getCK("username");
        var password=getCK("password");
        if(remember=='true'){
            var userNameInput=document.getElementById("username");
            userNameInput.value=username;
            var rememberInput=document.getElementById("remember");
            rememberInput.checked='checked';
            var passwordInput=document.getElementById("password");
            passwordInput.value=password;
        }
    }
</script>
</html>

java处理,用户名密码验证,判断是否勾选记住密码,并生成cookie,保存到客户端

@RequestMapping("/cookie")
    public void cookieTest(HttpServletRequest request, HttpServletResponse response) throws IOException {
        response.setHeader("content-type","text/html;charset=utf-8");
        String username=request.getParameter("username");
        String password=request.getParameter("password");
        String remember=request.getParameter("remember");
        //这里方便测试我把用户名密码写死了  用户名:sw 密码:123
        boolean success="sw".equals(username) && "123".equals(password);
        if(success){
            response.getWriter().write("登陆成功");
        }else{
            response.getWriter().write("登陆失败");
        }
        if("true".equals(remember) && success==true){
            Cookie ck1=new Cookie("remember", remember);
            ck1.setMaxAge(60*60);
            response.addCookie(ck1);
            Cookie ck2=new Cookie("username", username);
            ck1.setMaxAge(60*60);
            response.addCookie(ck2);
            Cookie ck3=new Cookie("password", password);
            ck1.setMaxAge(60*60);
            response.addCookie(ck3);
        }else{
            //清除cookie
            Cookie[] cks=request.getCookies();
            if(cks !=null){
                for (Cookie c : cks) {
                    c.setMaxAge(0);
                    response.addCookie(c);
                }
            }
        }
    }

查看效果


退出去重新刷新页面,密码自动绑定

把密码存入cookie是有盗号风险的,为了解决这个问题,推荐将密码用md5加密,这样就能保证密码的安全了。欢迎大家一起研究

原创:
https://blog.csdn.net/qq_36787030/article/details/82011463?spm=1001.2014.3001.5501

以上是关于Java实现登录时cookie记住密码的主要内容,如果未能解决你的问题,请参考以下文章

cookie实现记住登录名和密码

登录记住密码

vue项目实现记住密码到cookie功能(附源码)

thinkphp如何实现记住用户名,密码,自动登录

js实现cookie记住密码

js中利用cookie实现记住密码功能