【问题标题】:using multiple authorization elements in web.config在 web.config 中使用多个授权元素
【发布时间】:2011-02-04 16:06:18
【问题描述】:

是否可以在单个 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>

【问题讨论】:

    标签: asp.net web-config authorization


    【解决方案1】:

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

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

    【讨论】:

    • 我无法创建新组来封装角色,因此我必须使用用户。我要说的是,User1 应该继承 Page1.aspx 的权限。
    【解决方案2】:

    如果您从 Page1.aspx 授权部分中删除 &lt;deny users="*" /&gt;,您应该会得到您想要的。它将允许 User2 仅使用该页面,并且 User1 对所有内容的授权仍将适用于该页面。

    这里是a pretty good tutorial 与授权相关的所有事情。

    【讨论】:

    • 似乎不起作用。如果我使用自己的帐户作为 User2,我将无法访问 Page1.aspx
    • 看起来问题只是 asp.net 没想到 ~/ 在第二条规则上。删除有效。
    猜你喜欢
    • 2016-09-14
    • 2011-02-13
    • 2016-07-29
    • 1970-01-01
    • 2012-11-20
    • 2011-09-28
    • 2010-10-13
    • 2011-04-21
    • 1970-01-01
    相关资源
    最近更新 更多