我需要创建一个包含静态内容(图像,html文件等)认证的网站
我已经构建了一个针对用户数据库的登录表单保护的私有部分;但是如果用户知道该部分的静态文件的网址,则无论如何都会将其提供,登录或不登录。
在asp.net中保护静态内容的最佳做法是什么?
我从4 guys from rolla找到了这篇文章,它是合适的(它仅适用于IIS 7.0)?
IIS 6.0的最佳做法?
编辑: 如果我把
<location path="ImagesPrivate">
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>
这很有效,但仅限于.aspx文件,而不是图像或其他静态内容。
答案 0 :(得分:1)
如果您想在IIS6上使用表单auth来保护非.NET内容(例如静态内容),您有两种选择。
一个是在不可浏览的位置和内容中的内容。构建一个处理程序来获取内容。另一种选择是使用通配符映射。
您应该测试两种方法,看看哪种方法最适合您的用例。
答案 1 :(得分:0)
“默认情况下,IIS本身处理所有静态内容,仅在请求ASP.NET资源时调用ASP.NET运行时。因此我们需要映射那些由ASP.NET运行时处理的静态文件扩展名”