tomcat对于web.xml的security-constraint使用的处理机制
知識點
web.xml中<security-constraint> 的子元素 <http-method> 是可選的,如果沒有 <http-method> 元素,這表示將禁止所有 HTTP 方法訪問相應的資源。
子元素 <auth-constraint> 需要和 <login-config> 相配合使用,但可以被單獨使用。如果沒有 <auth-constraint> 子元素,這表明任何身份的用戶都可以訪問相應的資源。也就是說,如果 <security-constraint> 中沒有 <auth-constraint> 子元素的話,配置實際上是不起中用的。如果加入了 <auth-constraint> 子元素,但是其內容為空,這表示所有身份的用戶都被禁止訪問相應的資源。?
?
問題
對于同一個url-pattern,在web.xml出現2個<security-constraint>,一個是對該url-pattern進行了role的限制,一個沒有限制role,會如何?
?
實踐
一個是對該url-pattern進行了role的限制,即配置auth-constraint
如:
<security-constraint><web-resource-collection><web-resource-name>test2</web-resource-name><url-pattern>/*</url-pattern></web-resource-collection><auth-constraint><role-name>tomcat1</role-name></auth-constraint></security-constraint>
? ??
一個是對該url-pattern沒有進行role的限制
如:
?
?
??
??
對于tomcat而言,在org.apache.catalina.authenticator.AuthenticatorBase認證類中
?
結論
所以按照上面同時配置同一個url-pattern,不同安全限制,只要有一個不限制角色,則此url-pattern不受角色限制,滿足次url-pattern的url可以被任意角色和匿名用戶訪問
轉載于:https://www.cnblogs.com/yangjun1120/archive/2012/11/22/2782322.html
總結
以上是生活随笔為你收集整理的tomcat对于web.xml的security-constraint使用的处理机制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 循环控制for
- 下一篇: Windows7 IIS7.5 HTTP