登录后如何正确注销 Java EE 6 Web 应用程序
2022-09-02 09:39:54
一个非常简单的要求。登录到 Web J2EE 6 应用程序后,如何让用户再次注销?
我看过的大多数(所有?)书籍和教程都展示了如何将登录/登录错误页面添加到他们的应用程序中,并使用“j_security_check”方法演示安全主体/角色/领域等的使用 - 一切都很好。但是,目前还不清楚如何为用户提供注销权限。实际上,如何在会话超时等之后强制注销?
一个非常简单的要求。登录到 Web J2EE 6 应用程序后,如何让用户再次注销?
我看过的大多数(所有?)书籍和教程都展示了如何将登录/登录错误页面添加到他们的应用程序中,并使用“j_security_check”方法演示安全主体/角色/领域等的使用 - 一切都很好。但是,目前还不清楚如何为用户提供注销权限。实际上,如何在会话超时等之后强制注销?
您应该通过以下方式使会话无效:logout servlet/jsp
session.invalidate() methodHttpServletRequest.logout()而且,应用程序 UI 应提供一个链接,该链接调用logout servlet/jsp
问题:实际上,如何在会话超时等之后强制注销?
答:in web.xml允许您定义超时值,在此值之后,服务器将使会话失效。<session-timeout>
您可以使用 HttpServletRequest 的 logout()-方法以编程方式执行此操作。还有一种使用用户名和密码登录的相应方法。这些方法已添加到 Servlet 3.0 中,因此在 Java EE 6 中可用。
超时是一种不同的野兽,可以按如下方式指定:web.xml
<session-config>
<session-timeout>30</session-timeout>
</session-config>
时间单位是分钟。