我需要修改web.config文件以确保只有成员才能访问First.aspx 订阅者组。
什么是正确的:
A
<location path="First.aspx">
<system.web>
<authorization>
<allow roles="Subscribers"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
或
乙
<location path="First.aspx">
<system.web>
<authorization>
<deny users="*"/>
<allow roles="Subscribers"/>
</authorization>
</system.web>
</location>
为什么?
答案 0 :(得分:3)
第一个是正确的,因为第二个是在它甚至试图检查他们的角色之前否认所有人。 deny
和allow
条目按其输入顺序进行测试。
答案 1 :(得分:0)
我在这里找到了这个(http://weblogs.asp.net/gurusarkar/archive/2008/09/29/setting-authorization-rules-for-a-particular-page-or-folder-in-web-config.aspx)所以A是正确的:
由于授权是从上到下完成的,因此会检查规则直到找到匹配项。这里我们有第一个,因此即使在Admin角色中也不会检查是否允许以及拒绝访问。
所以PUT都允许在任何拒绝之前。
注意:deny的工作方式与allow相同。您可以根据您的要求拒绝特定角色或用户。