我需要限制客户端访问某些特定文件。我想在我的web.config中这样做,而不是依赖谁管理IIS。
我知道可以限制对文件类型的访问(例如,所有XML文件),如下所示:How to restrict download of specified file types
但是,如何指定确切的文件?例如,我需要阻止直接访问〜/ test / mytest.xml中的文件 请记住,位于〜/ secondtest / mytest.xml的该文件的另一个副本仍然可供客户端使用。
唯一的选择是在IIS?我无法在web.config中控制它?
谢谢!
答案 0 :(得分:2)
您可以直接在web.config中指定文件名,如下所示。
<system.web>
<httpHandlers>
<add path="test/mytest.xml" verb="*" type="System.Web.HttpForbiddenHandler"/>
</httpHandlers>
</system.web>
对于IIS7以上使用以下内容。
<system.webServer>
<handlers>
<add path="test/mytest.xml" verb="*" type="System.Web.HttpForbiddenHandler" name="XML"/>
</handlers>
</system.webServer>
答案 1 :(得分:0)
您可以限制从登录,匿名,特定角色等访问web.config中的路径和/或文件:
<location path="filename or path">
<system.web>
<authorization>
<deny users="*" />
</authorization>
</system.web>
</location>
您可能还需要在配置中添加以下内容:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
<system.webServer>