Web.config授权落实

时间:2013-02-18 16:41:57

标签: asp.net web-config authorization

我的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的“Administrator”和“SubAdmin”角色以外的所有人?

或者我是否必须将<allow roles="Administrator"/> <deny users="?"/>添加到Admin / Page1部分?

2 个答案:

答案 0 :(得分:0)

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

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

仅限内部管理员文件夹

<?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>

答案 1 :(得分:0)

你可以这样使用它:

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

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