说我们在Spring MVC Web应用程序中有这些代码:
弹簧security.xml文件
<sec:session-management invalid-session-url="/session_timeout">
<sec:concurrency-control max-sessions="1" error-if-maximum-exceeded="false" expired-url="/session_conflict"/>
</sec:session-management>
并在控制器中
@RequestMapping(value="/session_timeout")
public String sessionTimeout(@AuthenticationPrincipal UserDetails userDetails) {
// ---- (A)
}
@RequestMapping(value="/session_conflict")
public String sessionConflict(@AuthenticationPrincipal UserDetails userDetails) {
// ---- (B)
}
使用此设置,我的问题是:
当用户(用户A)登录,而另一个用户(用户B)尝试使用相同的用户ID登录时,将调用sessionConflict
并且第一个用户(用户A)'会议将被销毁。
到位(A),我可以获取超时的用户信息吗?
到位(B),哪个用户的信息将进入userDetail
?用户A或用户B?
我正在尝试获取破坏用户的信息,以便我可以将其标记为脱机。如果我不能问题2和3,还有其他方法吗?
非常感谢。