从安全约束中排除 url

Exclude url from security constraint

我已经在 weblogic 服务器上配置了 ADFS SAML,并在 web.xml 中添加了相应的条目。 我想通过 ADFS SAML 从授权中排除一个 url,所以我在 web.xml 中添加了没有身份验证约束的安全约束。所以现在我期望 url with /Sample/ 应该被排除在外但它仍然在授权 /Sample/ 请求 请在下面找到 web.xml 受限制的 /样本/*

<security-constraint>
  <display-name>excluded</display-name>
      <web-resource-collection>
      <web-resource-name>No Access</web-resource-name>
      <url-pattern>*</url-pattern>
       <http-method>PUT</http-method>
       <http-method>DELETE</http-method>
     </web-resource-collection>

  <web-resource-collection>
        <web-resource-name>Restricted</web-resource-name>
        <url-pattern>/Sample</url-pattern>
        <http-method>GET</http-method>
        <http-method>POST</http-method>
  </web-resource-collection>


  <web-resource-collection>
        <web-resource-name>SAML</web-resource-name>
        <url-pattern>*</url-pattern>
  </web-resource-collection>
    <auth-constraint>
        <role-name>everyone</role-name>
    </auth-constraint>
 </security-constraint> 

您目前有多个问题...您应该做的第一件事是将其分解为多个 security-constraint。您可以拥有多个,因此请为您的 SAML 和禁止访问定义一个单独的。您的 URL 模式与 SAML 和禁止访问相同,是哪一个?:

<url-pattern>*</url-pattern> 

您的授权限制似乎也很糟糕...允许所有人访问?如果您只是想限制应用程序的某些部分,请指定无身份验证限制,例如:

<auth-constraint />

按照 SO 上的示例进行操作,例如:How to exclude one url from authorization

按照 http://java.dzone.com/articles/understanding-web-security

之类的教程进行操作