cookie to remember the password function

When you log in to set a cookie and cookie destroyed according to the value of a single marquee Remember Password box

Login page using ajax implementation, the loaded method is called loadCookie

$(function(){
    //记住密码
$.get("/crowdfunding/user/loadCookie",function(map){
        if(map!=null){
            $("input[name=remember]").attr("checked",true)
            $("input[name=us_phone]").val(map.us_phone)
            $("input[name=us_password]").val(map.us_password)
        }
    },
    "json"
    )
})

Forms, phone numbers, passwords, password remember three input

<form id="frm">
                        <fieldset>
                            <label class="block clearfix">
                                <span class="block input-icon input-icon-left">
                                                      <i class="ace-icon fa fa-user"></i>
                                    <input name="us_phone" type="text" class="form-control" placeholder="手机号码" />

                                </span>
                            </label>

                            <label class="block clearfix">
                                <span class="block input-icon input-icon-left">
                                                      <i class="ace-icon fa fa-lock"></i>
                                    <input name="us_password" type="password" class="form-control" placeholder="请输入密码" />

                                </span>
                            </label>

                            <div class="space"></div>

                            <div class="clearfix">
                                <label class="inline">
                                    <input name="remember" type="checkbox" class="ace" value="true" />
                                    <span class="lbl"> 记住密码</span>
                                </label>

                                <button onclick="login()" type="button" class="width-35 pull-right btn btn-sm btn-primary">
                                    <i class="ace-icon fa fa-key"></i>
                                    <span class="bigger-110">登录</span>
                                </button>
                            </div>

                            <div class="space-4"></div>
                        </fieldset>
                    </form>

controller layer, when you log method calls addCookie

@RequestMapping("login")
    @ResponseBody
    public Boolean login(String us_phone, String us_password,boolean remember, HttpSession session,HttpServletRequest request,HttpServletResponse response) {
        User user = userService.login(us_phone, us_password);
        if(user != null) {
            session.setAttribute("user", user);
            addCookie(request,response,us_phone,us_password,remember);
            return true;
        }
        return false;
    }
    //添加一个cookie
    private void addCookie(HttpServletRequest request, HttpServletResponse response, String us_phone, String us_password, boolean remember) {
        if(remember==true) {
            Cookie cookie1=new Cookie("us_phone", us_phone);
            Cookie cookie2=new Cookie("us_password", us_password);
            //cookie.setPath("/");//设置cookie在服务器中共享
            response.addCookie(cookie1);
            response.addCookie(cookie2);
        }
        else {
            Cookie[] cookies = request.getCookies();
            if(cookies!=null) {
                for(Cookie c:cookies) {
                    c.setMaxAge(0);//销毁cookie
                    response.addCookie(c);
                }
            }
        }
    }

When the page loads

//加载cookie
    @RequestMapping("loadCookie")
    @ResponseBody
    public Map<String,Object> loadCookie(@CookieValue(value="us_phone",required=false)String us_phone,@CookieValue(value="us_password",required=false)String us_password) {
        if(us_phone!=null&&us_password!=null) {
            Map<String, Object> map=new HashMap<>();
            map.put("us_phone", us_phone);
            map.put("us_password", us_password);
            return map;
        }
        return null;
    }

This completes the easy to remember password feature (can not remember the password for multiple accounts)

Guess you like

Origin www.cnblogs.com/psxfd4/p/11605568.html