我已在weblogic服务器上配置了ADFS SAML,并在web.xml中添加了相应的条目。 我想通过ADFS SAML从authourization中排除一个url,所以我在web.xml中添加了没有auth-constraint的安全约束。所以现在我期待带有/ Sample /的url应该被排除但仍然是authourizing / Sample / request 请在下面找到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>
答案 0 :(得分:2)
您目前遇到多个问题......您应该做的第一件事就是将其分解为多个security-constraint
。您可以拥有多个,因此为SAML和No Access定义一个单独的一个。您的URL模式与SAML和No Access相同,其中一个是?:
<url-pattern>*</url-pattern>
您的身份验证约束似乎也很糟糕......允许访问所有人?如果您只是想限制应用的部分内容,请不要指定身份验证,例如:
<auth-constraint />
按照SO上的示例:How to exclude one url from authorization
或
按照像http://java.dzone.com/articles/understanding-web-security
这样的教程