2

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

1 回答 1

0

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

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

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

于 2013-04-30T18:13:27.587 回答