问
<authorization>
<deny users = "?"/>
<allow users= "*" />
</authorization>
?:匿名用户,也就是没有登入的用户不能访问。
*:所有用户,所有用户都不能访问。
<deny users = "?"/>、 是拒绝匿名用户访问
<allow users= "*" /> 允许所有的用户访问包括匿名用户
*:所有用户,所有用户都不能访问。
<deny users = "?"/>、 是拒绝匿名用户访问
<allow users= "*" /> 允许所有的用户访问包括匿名用户
如果以上面的效果显示,那么用户访问站点下的其他页,如果没有登录的话,都会转到登录页。
但是要是把<allow users= "*" />放到<deny users = "?"/>前面,在没有登录的情况下,可以随意访问其他页面,没有限制。这是什么工作机制?对顺序也有要求吗?
答
有
运行时,授权模块从最本地的配置文件开始,循环访问 allow 和 deny 元素,直到它找到适合特定用户帐户的第一个访问规则。然后,该授权模块根据找到的第一个访问规则是 allow 还是 deny 规则来允许或拒绝对 URL 资源的访问。默认的授权规则为 <allow users="*"/>。默认情况下允许访问,除非另外配置。
所以应该把适用用户群最大的放在最前面,特定的页面或文件夹再单独配置