我是否应该在 Web.config 文件中为多个页面添加多个<位置>元素

本文关键字:添加 元素 位置 是否 Web 文件 config | 更新日期: 2023-09-27 18:32:21

我正在使用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 文件。如果我将来添加许多页面,这是一种更好的方法吗?

感谢您的任何建议。

我是否应该在 Web.config 文件中为多个页面添加多个<位置>元素

我可能会走另一条路 - 默认情况下,所有页面都处于最高限制级别(可能是管理员),然后将其他人可以访问的页面列入白名单。这意味着,如果添加了页面并且配置未更新,则无法看到它的人将无法看到它。

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