前往顾页
以后地位: 主页 > 收集编程 > Jsp实例教程 >

Spring Security 点窜暗码后 在线用户列表顶用户反复

时候:2015-12-25 21:08来源:知行网www.zhixing123.cn 编辑:麦田守望者

项目中利用 Spring Security 3.2.0 RELEASE 做拜候节制,采取单点登录的体例,即第一次登录后利用不异账号再次登录将第一次的登录挤失落。用户主动点窜暗码时,点窜成功后主动加入需求从头登录。

但是在点窜暗码并从头登录后,利用sessionRegistry.getAllPrincipals()获得所有在线用户,列表中呈现反复用户名。

谷歌了半天,启事多是在点窜完暗码调用的/j_spring_security_logout加入时,加入的用户工具必须和登录的用户工具是同一个,而我在点窜暗码时同时点窜了SecurityContextHolder中的用户工具的暗码,然后再调用加入,这时候加入的用户其实不是登录的用户,所以加入失败。

处理体例就是在点窜前把SecurityContextHolder中的以后用户拿出来clone()一下,然后再用clone()的新的user去保存到数据库,如许加入的时候,SecurityContextHolder内里的用户还是最后登录的用户,所以就没问题了。

顶一下
(1)
100%
踩一下
(0)
0%
------分开线----------------------------
标签(Tag):Java JAVA实例教程 JAVA根本教程 Java源代码 Java技能
------分开线----------------------------
颁发评论
请自发遵循互联网相关的政策法规,严禁公布色情、暴力、革命的谈吐。
评价:
神色:
考证码:点击我更换图片
猜你感兴趣