2

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

<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> 
4

1 回答 1

2

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

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

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

<auth-constraint />

遵循关于 SO 的完整示例,例如:如何从授权中排除一个 url

或者

按照http://java.dzone.com/articles/understanding-web-security 之类的教程进行操作

于 2015-05-19T16:44:01.083 回答