从 Web.xml的安全约束中排除 JSP

2022-09-04 07:51:01

我想从 中仅排除一个 JSP 文件。question.jspsecurity-constraint

我从我的网上得到了这个.xml

<security-constraint>
    <display-name>My Security Constraint</display-name>
    <web-resource-collection>
        <web-resource-name>Protected Area</web-resource-name>      
        <url-pattern>*.do</url-pattern>
        <url-pattern>*.jsp</url-pattern>
    </web-resource-collection>
    <auth-constraint>      
        <role-name>*</role-name>
    </auth-constraint>
</security-constraint>

答案 1

只需添加自由页部分,而不提供任何身份验证约束。它将优先于受保护的页面:

<security-constraint>
  <web-resource-collection>
    <web-resource-name>free pages</web-resource-name>
    <url-pattern>/question.jsp</url-pattern>
  </web-resource-collection>
</security-constraint>

答案 2

一种方法是将所有安全的JSP内容移动到特定的目录路径(例如/protected/from web root),然后您的web.xml内容将如下所示:

<security-constraint>
    <display-name>My Security Constraint</display-name>
    <web-resource-collection>
        <web-resource-name>Protected Area</web-resource-name>      
        <url-pattern>/protected/*.jsp</url-pattern>

您可以将公共 JSP 保留在默认的 docroot 上,也可以根据需要保留到其他一些目录路径。