繁体   English   中英

限制对web.config中文件/文件夹的访问

[英]Restrict access to file/folder in web.config

我尝试了各种方式来尝试限制对文件夹的访问,从最简单的拒绝对所有用户的访问,仅向自己授予访问权限,到尝试将角色/用户组合在一起,等等。特别是,该文件夹包含多种用途aspx和html文件。

有人可以协助吗? 这是我根据其他类似问题得出的结论:

<configuration>
    <system.web>
       <!-- mode=[Windows|Forms|Passport|None] -->
       <authentication mode="Windows" />
    </system.web>
  <system.webServer>
    <handlers>
        <add name="HTMLHandler" type="System.Web.StaticFileHandler" path="*.html" verb="GET" />
    </handlers>
  </system.webServer>
    <location path="AdminOnly">
        <system.web>
            <authorization>
            <deny users="*" />
            <allow users="domain\user1, domain\user2, domain\user3" />
            <allow roles="domain\role1, domain\role2" />
            </authorization>
        </system.web>
    </location>
</configuration>

编辑解决方案终于提出了。

这是对授权段的理解的结合(感谢Tetsuya提供有关订购授权规则的有用提示),包括处理程序段以及为托管代码配置应用程序池。

似乎在编写authorization元素时顺序错误,必须首先声明allow部分,以允许某些用户以某些角色进行操作,然后再拒绝其他所有内容。

因此,以下这种构造是错误的,因为在允许定义的用户之前拒绝所有已解决的用户:

<location path="AdminOnly">
    <system.web>
        <authorization>
        <deny users="*" />
        <allow users="domain\user1, domain\user2, domain\user3" />
        <allow roles="domain\role1, domain\role2" />
        </authorization>
    </system.web>
</location> 

正确的顺序应如下所示:

<location path="AdminOnly">
    <system.web>
        <authorization>
        <allow roles="role1, role2" />
        <allow users="user1, user2, user3" />
        <deny users="*" />
        </authorization>
    </system.web>
</location>

在参考部分中,Guru Sarkar解释了出了什么问题:

常见错误

我看到有人抱怨他们已经正确设置了自己的角色,并且进入了他们的web.config,但是他们的授权仍然无效。 即使他们允许访问其角色,用户也无法访问特定的页面/文件夹。 常见的原因是将<deny../>放在<allow ../>之前。 由于授权是从上到下完成的 ,因此将检查规则直到找到匹配项。

参考:

在web.config中为特定页面或文件夹设置授权规则

您是否可以尝试在特定文件夹中创建新的web.config并将其添加到文件夹的web.config中以限制所有用户

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM