apache shiro remember me 不起作用

来源:互联网 发布:sql进阶教程 编辑:程序博客网 时间:2024/05/21 17:53

现象:

项目使用了shiro进行认证,配置了rememberMe后,死活不起作用


原因:

浏览器对cookie的大小有限制,总大小不能超过4K,服务器返回给浏览器的cookie有5k多,所以浏览器直接忽略了cookie而没有保存rememberMe这个cookie。


解决:

这串cookie其实是对 Principal 进行了序列化后再Base64的结果,要缩短cookie的长度,就需要减少Principal 的数据量,我因为把整个用户的数据(包括菜单资源)全部赋给了Principal ,导致Principal 过大,最后使用简单的对象只保存了用户的用户名和ID,减小Principal ,从而缩短了cookie的长度,解决了这个问题。

0 0
原创粉丝点击