【发布时间】:2016-05-06 17:39:06
【问题描述】:
作为测试,我正在尝试使用 web.config 通过以下方式控制安全性:
- 拒绝访问目录中的所有文件,特定文件除外
- 允许访问目录中的所有文件,特定文件除外
所以我将 web.config 设置如下:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<!-- Deny access to all files in a directory, except for a specific file -->
<location path="NonAccessibleDirectory">
<system.web>
<authorization>
<deny users="?"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
<location path="NonAccessibleDirectory/AccessibleFile.html">
<system.web>
<authorization>
<allow users="?"/>
<allow users="*"/>
</authorization>
</system.web>
</location>
<!-- Allow access to all files in a directory, except for a specific file -->
<location path="AccessibleDirectory/NonAccessibleFile.html">
<system.web>
<authorization>
<deny users="?"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
<system.web>
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
</system.web>
</configuration>
如预期:
- 如果我浏览到不可访问的目录并且没有指定文件,我会被拒绝访问
- 如果我浏览到可访问的目录并且没有指定文件,我可以看到文件列表
我遇到的问题是:
- 如果我浏览到不可访问的目录并指定一个文件,我可以查看它,但我预计不会被授予访问权限
- 如果我浏览到可访问目录并指定一个我通过 web.config 拒绝访问的文件,我仍然可以查看它,并且我预计不会被授予访问权限
艾米我配置错了吗?
【问题讨论】:
标签: asp.net security web-config