我想保护一个文件夹,以便只有登录的用户才能访问它。此文件夹包含一组仅记录在用户应该能够下载的图像。
我有两种方法可以做到这一点。
我的问题是在这两种情况下,我应该如何阻止访问该文件夹并仅允许登录用户?如果我要创建一个动作,我可以通过Authorize
属性保护它。但它无法保证对该文件夹的直接访问。
我尝试在我要保护的文件夹中的web.config文件中使用下面的配置。但它可以被匿名用户访问。
<system.web>
<authorization>
<deny users="?"/>
<allow users="*"/>
</authorization>
答案 0 :(得分:0)
将您的图片存储在App_Data
根文件夹中 - 这将停止下载操作之外的直接图像文件下载。
e.g。无法访问http://www.example.com/App_Data/Secure_Images/image1.jpg
,因为ASP.NET会阻止访问。
答案 1 :(得分:0)
默认情况下,常规文件不会通过asp.net管道。为了使它们生效,您需要设置runAllManagedModulesForAllRequests = true ...
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
这样做之后,您的授权设置将起作用。