我有一个使用 SpringSecurity 的应用程序。如果我尝试登录,失败,然后我再次尝试,我的问题就出现了。发生的情况是 sessionid 仍然相同,这会产生问题。我尝试过运行:
request.getSession(false).invalidate()
final HttpSession session = request.getSession(true)
当我这样做时,当我尝试登录时,我收到服务器错误,该错误没有记录在任何地方(我怀疑是 SpringSecurity 造成的......)。使用 SpringSecurity 时是否有办法在每个登录请求上强制创建一个新 session ?
最佳答案
您可能会遇到 NullPointerExceptions
request.getSession(false).invalidate();
因为当没有 session 时getSession返回null。因此,如果您在进行无效之前进行空检查,这可能会起作用。
HttpSession session = request.getSession(false);
if (session != null) {
session.invalidate();
}
关于java - Spring Security - 需要在每次尝试登录时生成新的 session ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37184600/