自动登录的思路

第一次登录,如果勾选了自动登录,会创建一个Cookie写到客户端(response.addCookie),否则不创建。

(Cookie的path和name决定了是否是相同cookie),并将信息写入session

第二次会话访问主页,被Filter拦截,判断你的Cookie是否有登录信息,有就拿出替你登录,信息写入session。没有则不做操作;

如果又执行登录时,没有点击自动登录,记得清除Cookie(maxage设置为0)。

 

注意:Filter的条件拦截,fileter 必须不对用户的登录操作拦截, filter必须不对session中有用户信息(已经登录的状态做拦截)。

这个Filter只是对用户登录操作时选择了自动登录了,所以在客户再次会话时,有Cookie信息第一次带来,替客户做了登录操作,接下来的用户浏览,它一概不做工作了。

 

 

注意一些概念问题

Cookie 是 客户端 访问 服务端 的钥匙 。 决定是否可以自动登录、、

Session 每次关闭浏览器,再次访问 , Jsessionid 就不相同了, 所以 在Filter中需要 帮你登录, 帮你写入session。

拦截的 性能 问题,只在客户端有Cookie , 不存在session(再次会话),且不能拦截登录操作(控制request.getRequestURI),否则,如果在登录状态下执行了两次登录,浪费资源.

转载于:https://www.cnblogs.com/fangqiangblog/p/7565684.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值