spring boot 如何监听登陆超时?
项目中有一个在线用户表,登陆成功之后会把该用户相关登陆信息入库,退出时删除该记录,现在写了一个session监听,destroy时,拿到当前登陆用户(MyUserDeta...
项目中有一个在线用户表,登陆成功之后会把该用户相关登陆信息入库,退出时删除该记录,现在写了一个session监听,destroy时,拿到当前登陆用户
(MyUserDetails)SecurityContextHolder.getContext().getAuthentication().getPrincipal();
现在有一个问题:当session是因为超时注销时,上面的代码会报空指针,而如果在session建立的时候用上面的代码将用户set进session里,则有时候会报空指针(偶尔报偶尔不报。。。不知道是什么原因),所以,有有什么办法能在session建立的方法里拿到当前登陆用户,或者session销毁时拿到?再或者,登陆超时的时候拿到当前用户(目的是将在线用户表和其它在线相关的表里的记录删除) 展开
(MyUserDetails)SecurityContextHolder.getContext().getAuthentication().getPrincipal();
现在有一个问题:当session是因为超时注销时,上面的代码会报空指针,而如果在session建立的时候用上面的代码将用户set进session里,则有时候会报空指针(偶尔报偶尔不报。。。不知道是什么原因),所以,有有什么办法能在session建立的方法里拿到当前登陆用户,或者session销毁时拿到?再或者,登陆超时的时候拿到当前用户(目的是将在线用户表和其它在线相关的表里的记录删除) 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询