位置路径拒绝不会在system.web中阻止静态文件夹

问题描述 投票:0回答:1

我试图拒绝用户访问静态文件夹:

<location path="log4">
    <system.web>
        <authorization>
           <deny users="*"/>
        </authorization>
    </system.web>
</location> 

但这失败了。

我发现这个Q&A的问题:

First answer解决了我的问题:

<security>
  <requestFiltering>
    <hiddenSegments>
      <add segment="Uploads"/>
    </hiddenSegments>
  </requestFiltering>
</security>

非常好。

但是,当我仔细观察我的网络配置时,我有其他部分可能限制或允许用户访问图像或css等文件夹,但下面不考虑输入请求,它允许任何人访问它们。

<location path="images">
    <system.web>
        <authorization>
            <deny users="*"/>
        </authorization>
    </system.web>
</location>
<location path="css">
    <system.web>
        <authorization>
            <allow users="*"/>
        </authorization>
    </system.web>
</location>

在第二个most upvoted answer相同的线程中,我会解释它的工作但不是。

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

This可能是我的第二部分问题的解决方案:

<modules runAllManagedModulesForAllRequests="true"></modules>

然而,正如所指出的here这导致性能问题。

Here也提到了设置处理程序,例如.xml文件,但我需要在文件夹级别。

我的问题是如何拒绝/允许访问具有位置路径的静态文件夹内容,而不需要将runAllManagedModulesForAllRequests设置为true

我的应用程序使用表单身份验证和应用程序池.net 2.0与集成模式。

asp.net security iis forms-authentication
1个回答
0
投票

您可以在web.config中设置拒绝用户,如下所示:

<location path="s3">
<system.web>
  <authorization>
    <deny users="*" />
  </authorization>
</system.web>

enter image description here

enter image description here你也可以参考下面的文章了解更多细节:

Setting authorization rules for a particular page or folder in web.config

此致,Jalpa。

© www.soinside.com 2019 - 2024. All rights reserved.