Web.config以递归方式拒绝访问子文件夹

时间:2012-10-23 09:09:44

标签: c# asp.net web-config

如果我的网站中有一个名为Admin的子文件夹,则此文件夹包含更多子文件夹。如何配置位于Admin文件夹中的web.config文件,以递归方式实现其中的所有子文件夹?

目前我有这个,但它只适用于admin文件夹,并且不影响子文件夹

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

感谢。

2 个答案:

答案 0 :(得分:4)

您需要拒绝所有其他用户。默认情况下,允许所有用户(包括来宾)访问所有文件夹。如果要拒绝除某些用户或角色之外的任何人的访问权限,则需要在所有规则后拒绝此访问权限。这也意味着客人。

<system.web>
  <authorization >
    <allow roles="Admins"/>
    <deny users="*"/>
  </authorization>
</system.web>

逐个检查规则,因此管理员适合第一条规则并获得访问权限。所有其他用户和访客将属于第二条规则,将无法访问。

答案 1 :(得分:0)

您可以将allowOverride属性定义为true

<location path="path" allowOverride="true"/>

链接:http://msdn.microsoft.com/en-us/library/b6x6shw7(v=vs.71).aspx