会话注销中的问题

Posted

技术标签:

【中文标题】会话注销中的问题【英文标题】:Trouble in session logout 【发布时间】:2013-04-12 21:34:59 【问题描述】:

我已经读到我们可以在 servlet 中使用 logout() 方法。 所以,我正在做这样的事情

HttpSession sr=request.getSession();
sr.logout();

但这给了我一个错误,它找不到符号 logout(); 请帮助。我希望用户注销并转到主页(home.jsp)。

【问题讨论】:

【参考方案1】:

HttpSession中不存在注销方法

//This code will redirect to  homepage.jsp
 RequestDispatcher rd = request.getRequestDispatcher("homepage.jsp");
  rd.forward(request, response);

您可以使用session.invalidate(); 使会话无效

【讨论】:

@saumyaraj 是的,它将删除会话中的所有内容(属性..等)。【参考方案2】:

HttpServletRequest 有一个logout 方法,但它假定您正在使用 servlet 方法来做安全性。它会清除安全上下文,但不会清除您的会话。

如果您只想清除会话,请执行

HttpSession sr = request.getSession();
sr.invalidate();

【讨论】:

以上是关于会话注销中的问题的主要内容,如果未能解决你的问题,请参考以下文章

为啥 Node 中的 PassportJS 不会在注销时删除会话

注销思杰会话

关于从 Rails 2 中所有浏览器中的所有活动会话自动注销的问题

java spring boot / spring security(HttpSecurity)中的会话到期时如何自动注销

注销并终止会话

如何使用php制作涉及会话cookie的注销页面?