spring boot 如何监听登陆超时?

项目中有一个在线用户表,登陆成功之后会把该用户相关登陆信息入库,退出时删除该记录,现在写了一个session监听,destroy时,拿到当前登陆用户(MyUserDeta... 项目中有一个在线用户表,登陆成功之后会把该用户相关登陆信息入库,退出时删除该记录,现在写了一个session监听,destroy时,拿到当前登陆用户
(MyUserDetails)SecurityContextHolder.getContext().getAuthentication().getPrincipal();
现在有一个问题:当session是因为超时注销时,上面的代码会报空指针,而如果在session建立的时候用上面的代码将用户set进session里,则有时候会报空指针(偶尔报偶尔不报。。。不知道是什么原因),所以,有有什么办法能在session建立的方法里拿到当前登陆用户,或者session销毁时拿到?再或者,登陆超时的时候拿到当前用户(目的是将在线用户表和其它在线相关的表里的记录删除)
展开
 我来答
243477934
2016-09-20 · 超过15用户采纳过TA的回答
知道答主
回答量:24
采纳率:0%
帮助的人:44.9万
展开全部
session本来就有用户信息,spring security放进去的,session里直接get SPRING_SECURITY_CONTEXT,强转securitycontext,什么都有了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式