J_security_check 会话未结束
J_security_check session not ending
我是初学者,正在尝试学习 jsp,方法是在 j_security_check 的帮助下创建登录页面。
在 web.xml
的以下代码中,您可以看到受保护文件夹中的所有内容都需要您登录才能访问。
<welcome-file-list>
<welcome-file>protected/home.jsp</welcome-file>
</welcome-file-list>
<security-constraint>
<display-name>Security Constraint</display-name>
<web-resource-collection>
<web-resource-name>Protected Area</web-resource-name>
<url-pattern>/protected/*</url-pattern>
<http-method>DELETE</http-method>
<http-method>GET</http-method>
<http-method>POST</http-method>
<http-method>PUT</http-method>
</web-resource-collection>
<auth-constraint>
<role-name> manager </role-name>
</auth-constraint>
<user-data-constraint>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>
<login-config>
<auth-method>FORM</auth-method>
<realm-name>Example Form-Based Authentication Area</realm-name>
<form-login-config>
<form-login-page>/protected/home.jsp</form-login-page>
<form-error-page>/error.jsp</form-error-page>
</form-login-config>
</login-config>
<security-role>
<description> An administrator </description>
<role-name> manager </role-name>
</security-role>
然而,在输入一次正确的凭据后,它只是停留在 "logged in" 模式,当我重新启动服务器时,它不会提示我再次登录。我试过使用
HttpSession session=request.getSession();
session.invalidate();
以及
<%
request.getSession().invalidate();
request.getSession(false);
%>
还有 How to properly logout of a Java EE 6 Web Application after logging in 上的答案(除了最后一个,因为 FacesContext
出了点问题)
但它们似乎都不起作用。所以我的问题是如何注销?我的结构有问题吗?感谢所有帮助。
只需将登录页面更改为实际登录页面即可:
<form-login-config>
<form-login-page>/login.jsp</form-login-page>
<form-error-page>/error.jsp</form-error-page>
</form-login-config>
我是初学者,正在尝试学习 jsp,方法是在 j_security_check 的帮助下创建登录页面。
在 web.xml
的以下代码中,您可以看到受保护文件夹中的所有内容都需要您登录才能访问。
<welcome-file-list>
<welcome-file>protected/home.jsp</welcome-file>
</welcome-file-list>
<security-constraint>
<display-name>Security Constraint</display-name>
<web-resource-collection>
<web-resource-name>Protected Area</web-resource-name>
<url-pattern>/protected/*</url-pattern>
<http-method>DELETE</http-method>
<http-method>GET</http-method>
<http-method>POST</http-method>
<http-method>PUT</http-method>
</web-resource-collection>
<auth-constraint>
<role-name> manager </role-name>
</auth-constraint>
<user-data-constraint>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>
<login-config>
<auth-method>FORM</auth-method>
<realm-name>Example Form-Based Authentication Area</realm-name>
<form-login-config>
<form-login-page>/protected/home.jsp</form-login-page>
<form-error-page>/error.jsp</form-error-page>
</form-login-config>
</login-config>
<security-role>
<description> An administrator </description>
<role-name> manager </role-name>
</security-role>
然而,在输入一次正确的凭据后,它只是停留在 "logged in" 模式,当我重新启动服务器时,它不会提示我再次登录。我试过使用
HttpSession session=request.getSession();
session.invalidate();
以及
<%
request.getSession().invalidate();
request.getSession(false);
%>
还有 How to properly logout of a Java EE 6 Web Application after logging in 上的答案(除了最后一个,因为 FacesContext
出了点问题)
但它们似乎都不起作用。所以我的问题是如何注销?我的结构有问题吗?感谢所有帮助。
只需将登录页面更改为实际登录页面即可:
<form-login-config>
<form-login-page>/login.jsp</form-login-page>
<form-error-page>/error.jsp</form-error-page>
</form-login-config>