基于表单的身份验证:重命名<form-login-page>



我有一个关于使用基于表单的身份验证保护web应用程序的问题。当我运行应用程序时,我希望web.xml文件链接到以下页面:

<form-login-page>/login.jsp</form-login-page>

web.xml似乎默认使用以下链接:

<form-login-page>/index.jsp</form-login-page>

我的问题是:我怎样才能改变这一点?web.xml文件如下所示:

<!-- language: lang-xml -->
   <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
        <servlet>
            <servlet-name>SecureServlet</servlet-name>
            <servlet-class>SecureServlet</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>SecureServlet</servlet-name>
            <url-pattern>/SecureServlet</url-pattern>
        </servlet-mapping>
        <session-config>
            <session-timeout>
                30
            </session-timeout>
        </session-config>
        <security-constraint>
            <display-name>Admin Pages</display-name>
            <web-resource-collection>
                <web-resource-name>Administrative Pages</web-resource-name>
                <description/>
                <url-pattern>/admin.jsp</url-pattern>
            </web-resource-collection>
            <auth-constraint>
                <role-name>admin</role-name>
            </auth-constraint>
            <user-data-constraint>
                <transport-guarantee>CONFIDENTIAL</transport-guarantee>
            </user-data-constraint>
        </security-constraint>
        <login-config>
            <auth-method>FORM</auth-method>
            <realm-name>file</realm-name>
            <form-login-config>
                <form-login-page>/login.jsp</form-login-page>
                <form-error-page>/errorpage.jsp</form-error-page>
            </form-login-config>
        </login-config>
        <security-role>
            <description>Administrator</description>
            <role-name>admin</role-name>
        </security-role>
        <security-role>
            <description>User</description>
            <role-name>user</role-name>
        </security-role>
    </web-app>

您需要在web.xml中设置欢迎文件,将您的上下文根的默认位置设置为您的登录页面:-

<welcome-file-list>
    <welcome-file>login.jsp</welcome-file>
</welcome-file-list>

请注意,该文件是相对于上下文根的,所以前面不需要斜杠。

最新更新