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

时间:2013-04-30 17:46:16

标签: java servlets web.xml

我有一个关于使用基于表单的身份验证保护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>

1 个答案:

答案 0 :(得分:0)

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

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

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