前言
小伙伴经常会登录一些网站,比如阿里云、博客园、码云这些网站,会发现她们的登录页面会有一个记住我的选项,只要你在登录的时候勾选上,下次开机打开浏览器直接是登录状态。
原理
其实原理很简单,在用户勾选记住我进行登录时,后台根据用户唯一标识生成一串加密字符串,然后写回给浏览器到 cookie 并存留一段时间,用户下次重新打开浏览器,会发现浏览器是记住你的。
关于 cookie,后台对用户对象序列化并加密,当重新请求时,后台能够获取反序列化且解密之后的用户对象。
集成
前台登录:
<form class="layui-form" action="javascript:void(0);">
<div class="layui-form-item">
<img class="logo" src="images/logo_new.png" />
<div class="title">SP Admin</div>
<div class="desc">
青 岛 市 最 具 影 响 力 的 开源项目 之 一
</div>
</div>
<div class="layui-form-item">
<input name="username" type="text" placeholder="账 户" value="admin" hover class="layui-input" />
</div>
<div class="layui-form-item">
<input name="password" type="password" placeholder="密 码" value="admin" hover class="layui-input" />
</div>
<div class="layui-form-item">
<input placeholder="验证码" name="verCode" hover class="code layui-input layui-input-inline" />
<img src="/sys/captcha" class="codeImage" id="captchaImage"/>
</div>
<div class="layui-form-item">
<input type="checkbox" name="rememberMe" value="true