从web.xml security-constraint中排除JSP

时间:2011-12-12 16:49:08

标签: java security jsp tomcat web

我想从question.jsp中只排除一个JSP文件security-constraint

我的 web.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>

2 个答案:

答案 0 :(得分:24)

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

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

答案 1 :(得分:0)

解决此问题的一种方法是将所有安全的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或其他目录路径中。