首页 文章

使用IIS7中的表单身份验证保护静态文件

提问于
浏览
2

我们有一个站点使用表单身份验证,在IIS7中启用了匿名身份验证 .

但是,通过上述设置,每个人都可以访问此站点中的静态文件,如CSS,JavaScript和Html .

如果禁用匿名身份验证,则用户无法访问登录页面,因为他们尚未登录 .

根据我的理解,Forms身份验证需要启用匿名身份验证 .

那么如何保护所有资源文件?

谢谢 !

2 回答

  • 3

    为了通过表单身份验证保护每个文件,通过asp .net管道路由所有请求 . 这不是IIS的默认行为 . 对于静态内容的文件,IIS通常会根据站点级别(即匿名,基本,Windows,摘要)中描述的设置将其分发 .

    虽然你可以做我提到的事情,但我会质疑你为什么要这样做 . 这会增加开销,因为.NET管道将开始处理每个文件以确定是否提供它 .

    可行,但不推荐 .

  • 0

    我想我找到了答案 .

    基于@Josh的回答,我发现page讨论了如何对整个应用程序使用表单身份验证 .

    我认为它的工作方式与我想要的一样 .

    • 您需要安装Url授权功能

    • 将以下内容添加到web.config中

    <system.webServer>

    <modules>

    <remove name =“FormsAuthenticationModule”/>

    <add name =“FormsAuthenticationModule”type =“System.Web.Security.FormsAuthenticationModule”/>

    <remove name =“UrlAuthorization”/>

    <add name =“UrlAuthorization”type =“System.Web.Security.UrlAuthorizationModule”/>

    <remove name =“DefaultAuthentication”/>

    <add name =“DefaultAuthentication”type =“System.Web.Security.DefaultAuthenticationModule”/>

相关问题