我的流程:
我怎么能超过session1?
我的春季配置:
<session-management session-fixation-protection="migrateSession">
<concurrency-control max-sessions="1" error-if-maximum-exceeded="false"/>
</session-management>
答案 0 :(得分:2)
它使用它做什么记住我登录再次登录你。你可以将你过期的会话重定向到另一个URL,如下所示,并手动使当前会话到期
(只添加过期的url属性)
.sessionManagement().sessionAuthenticationStrategy(concurrentSessionControlStrategy)
.maximumSessions(1).maxSessionsPreventsLogin(false).expiredUrl("/users/expire-me")
@RequestMapping(value="expire-me", method=RequestMethod.GET)
@ResponseBody
public void expireSession(HttpServletRequest request,HttpServletResponse response) throws IOException {
request.getSession(false).invalidate();
}
这就是我所做的,它完美无缺。
答案 1 :(得分:1)
(另一种解决方法)你必须使用记住我的身份验证,这就是你的第一个浏览器重新登录的方式。如果您希望它正常工作,请不要使用remember-me
。