如何为所有URL应用tomcat安全角色而不是一个?

时间:2012-03-15 15:25:15

标签: security tomcat web.xml

我的管理网络应用程序使用basic-auth保护:

<security-constraint>
  <web-resource-collection>
    <web-resource-name>myApp</web-resource-name>
    <description>
      Security constraint for
      Admin resources
    </description>
    <url-pattern>/*</url-pattern>
    <http-method>POST</http-method>
    <http-method>GET</http-method>
  </web-resource-collection>
  <auth-constraint>
    <description>
      constraint
    </description>
    <role-name>myrolename</role-name>
  </auth-constraint>
  <user-data-constraint>
    <description>SSL not required</description>
    <transport-guarantee>NONE</transport-guarantee>
  </user-data-constraint>
</security-constraint>
<login-config>
  <auth-method>BASIC</auth-method>
  <realm-name>Admin Login</realm-name>
</login-config>

但是,我需要为单个网址(例如 / check / )建立一个排除项,自动服务使用它来检查网络应用程序是否仍在常规中间隔。

很遗憾,我无法为此服务激活基本身份验证。

我怎么能做到这一点?

非常感谢。

1 个答案:

答案 0 :(得分:7)

使用<transport-guarantee>NONE</transport-guarantee>之前添加另一个约束可以解决问题

<security-constraint>
    <web-resource-collection>
        <web-resource-name>Status page, accessed internally by application</web-resource-name>
        <url-pattern>/status/</url-pattern>
    </web-resource-collection>
    <user-data-constraint>
        <transport-guarantee>NONE</transport-guarantee>
    </user-data-constraint>
</security-constraint>