0

我的 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 中的“管理员”和“子管理员”角色之外的所有人吗?

还是我必须添加<allow roles="Administrator"/> <deny users="?"/>到 Admin/Page1 部分​​?

4

2 回答 2

0

你可以这样使用它:

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

供将来参考:http: //msdn.microsoft.com/en-us/library/8d82143t%28VS.71%29.aspx

于 2013-02-18T16:54:10.940 回答
0

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

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

内部仅管理员文件夹

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

在 SubAdmin 和 Administrator 文件夹内

<?xml version="1.0"?>
<configuration>
  <system.web>
    <authorization>
      <allow roles="Administrator, SubAdmin"/>
      <deny users="*"/>
    </authorization>
  </system.web>
</configuration>
于 2013-02-18T16:48:59.923 回答