在本地机器上,我在mvc4(razor)上创建了示例项目,并创建了名为“x”的目录,并在其中放置一个文本文件“a.txt”.
- http://localhost:64471/x/a.txt
在我的网络配置中,我拒绝所有用户通过此配置访问“x”文件夹:
- <location path="x">
- <system.web>
- <authorization>
- <deny users="*"/>
- </authorization>
- </system.web>
现在如果用户发送此请求:
- http://localhost:64471/x/
它工作并将用户返回给在web配置中的表单标签中定义的URL.
但是当用户发送此请求时:
- http://localhost:64471/x/a.txt
解决方法
我用root web.config中的path =“x”进行了测试.它限制x文件夹下的所有内容;它甚至不会让我浏览〜/ x.我被重定向到登录页面.
你可以尝试在root web.config中这样的完整路径到a.txt吗?
- <location path="x/a.txt">
- <system.web>
- <authorization>
- <deny users="*"/>
- </authorization>
- </system.web>
- </location>
如果仍然不起作用,您可以尝试在x文件夹中创建一个具有以下内容的web.config.
- <?xml version="1.0"?>
- <configuration>
- <location path="a.txt">
- <system.web>
- <authorization>
- <deny users="*"/>
- </authorization>
- </system.web>
- </location>
- </configuration>