2

我正在使用Asp.Net/C#,我正在使用Roles基于授权来访问我的许多页面。到目前为止,我只有两个页面可供只有管理员角色访问。为了拒绝访问其他角色,我在我的 Web.config 文件中使用它。

<location path="CreateAccount.aspx">
    <system.web>
      <authorization>
        <allow roles="Admin"/>
        <deny users="*"/>
      </authorization>
    </system.web>
  </location>

这是针对 page1 的,假设将来我继续添加更多只有管理员角色才能访问的页面,我该如何管理,我应该在location每页添加一个元素还是有办法解决。我知道我可以将它们分组到一个文件夹中然后为此添加一个 web.config 文件。如果我将来添加许多页面,这是一个更好的方法吗?

感谢您的任何建议。

4

1 回答 1

2

我可能会采取另一种方式——默认情况下,所有页面都处于最高限制级别(可能是管理员),然后将其他人可以访问的页面列入白名单。这意味着,如果添加了一个页面并且没有更新配置,那么任何不应该看到它的人都无法看到它。

至于如何实现这一点:是的,在子目录中有一个 web.config 可能是最简单的方法。

于 2012-04-27T07:46:46.510 回答