我想了解web.config上的system.web授权标记是如何工作的,以及每个属性和属性的确切含义。
例如,
是什么 <system.web>
<authorization>
<deny users="?"/>
<allow users="*"/>
</authorization>
</system.web>
具体来说,我想要做的是禁止未经身份验证的用户访问网站的大多数,允许某些网站访问属于某个角色的经过身份验证的用户,并允许完全访问权限来自第二个角色的用户。
答案 0 :(得分:6)
<system.web>
<authorization>
<deny users="?"/>
<allow users="*"/>
</authorization>
</system.web>`
这将允许访问任何已登录的人。
<deny users="?"/>
拒绝访问任何匿名用户 - 未登录的用户然后<allow users="*"/>
将允许访问所有其他用户,在这种情况下,所有其他用户都是经过身份验证的用户。
如果这是在您的主web.config文件中,这将适用于整个网站。如果您想拥有不同级别的访问权限,可以使用<location>
标记:
<location path="~/Admin">
<system.web>
<authorization>
<allow roles="Admin"/>
<deny users="*"/>
</authorization>
</system.web>
这将限制管理员文件夹中任何文件/文件夹以“管理员”角色访问用户。
答案 1 :(得分:2)
没关系,在msdn上找到它: