在web.config中使用多个授权元素

时间:2011-02-04 16:06:19

标签: asp.net web-config authorization

是否可以在单个web.config中使用多个授权元素,以允许其他用户访问一个文件?

例如,我想允许User1访问整个应用程序(包括Page1.aspx),而User2只能访问Page1.aspx:

<system.web>
  <authorization>
    <allow users="DOMAIN\User1" />
    <deny users="*" />
  </authorization>
</system.web>
<location path="~/Page1.aspx">
  <system.web>
    <authorization>
      <allow users="DOMAIN\User2" />
      <deny users="*" />
    </authorization>
  </system.web>
</location>

2 个答案:

答案 0 :(得分:2)

我相信您可以使用以逗号分隔的用户列表,因此不需要为单个资源使用多个授权元素。

此外,通常更好地依赖角色而不是特定用户。由于您似乎正在使用AD,因此您可以使用安全组或类似的角色。

答案 1 :(得分:0)

如果从Page1.aspx授权部分删除<deny users="*" />,您应该得到您想要的内容。它将允许User2仅使用该页面,User1对所有内容的授权也将适用于此页面。

以下是a pretty good tutorial与授权相关的所有事项。