技术成就梦想

知道用户需求,做到专注!c#,donet,Frameworks,UML,面向对象,设计模式!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

<authorization>中<deny user="?">和<allow user="*">

Posted on 2011-07-18 17:46  我不是高手  阅读(2909)  评论(0编辑  收藏  举报

<authorization>
    <deny users = "?"/>
    <allow users= "*" />
</authorization>

?:匿名用户,也就是没有登入的用户不能访问。
*:所有用户,所有用户都不能访问。

<deny users = "?"/>、 是拒绝匿名用户访问
<allow users= "*" /> 允许所有的用户访问包括匿名用户 

 

如果以上面的效果显示,那么用户访问站点下的其他页,如果没有登录的话,都会转到登录页。
但是要是把<allow users= "*" />放到<deny users = "?"/>前面,在没有登录的情况下,可以随意访问其他页面,没有限制。这是什么工作机制?对顺序也有要求吗?

运行时,授权模块从最本地的配置文件开始,循环访问 allow 和 deny 元素,直到它找到适合特定用户帐户的第一个访问规则。然后,该授权模块根据找到的第一个访问规则是 allow 还是 deny 规则来允许或拒绝对 URL 资源的访问。默认的授权规则为 <allow users="*"/>。默认情况下允许访问,除非另外配置。


所以应该把适用用户群最大的放在最前面,特定的页面或文件夹再单独配置