Asp.net Web.config授权失败

Asp.net Web.config授权失败,asp.net,web-config,authorization,Asp.net,Web Config,Authorization,我的web.config中有 <location path="Admin"> <system.web> <authorization> <allow roles="Administrator"/> <deny users="?"/> </authorization> </system.web> </location> &l

我的web.config中有

<location path="Admin">
    <system.web>
      <authorization>
        <allow roles="Administrator"/>
        <deny users="?"/>
      </authorization>
    </system.web>
  </location>
  <location path="Admin/Page1">
    <system.web>
      <authorization>
        <allow roles="SubAdmin"/>
      </authorization>
    </system.web>
  </location>

这是否会正确阻止Admin/Page1中除“管理员”和“子管理员”角色之外的所有人


或者我必须将
添加到管理/Page1部分吗?

如果可能,请将web.config保存在每个文件夹中,而不是保存在一个web.config中

我不确定哪个角色更强大-管理员还是子管理员。您需要将最强大的角色保留在嵌套文件夹中

仅管理员文件夹内

<?xml version="1.0"?>
<configuration>
  <system.web>
    <authorization>
      <allow roles="Administrator"/>
      <deny users="*"/>
    </authorization>
  </system.web>
</configuration>

子管理员和管理员文件夹内

<?xml version="1.0"?>
<configuration>
  <system.web>
    <authorization>
      <allow roles="Administrator, SubAdmin"/>
      <deny users="*"/>
    </authorization>
  </system.web>
</configuration>

您可以这样使用它:

<allow roles="Admin"/>
<allow roles="SubAdmin"/>
<deny users="*"/>

我在admin文件夹中有很多页面,显然,所有这些页面都应该允许管理员与为该页面指定的人一起访问。我尽量避免重复很多行。