我有一个为表单身份验证 + 匿名访问设置的网站。
当用户请求任何页面(托管资源,例如 .aspx 页面)时,他会被重定向到 Logon.aspx
如果资源不受管理,例如 .html 、 .png 、 .jpg 等文件,则会出现问题。当用户尝试使用 URL 直接访问这些资源时,他无需任何身份验证即可查看这些资源。他没有被重定向到 LogOn.aspx 页面。
我试过以下:
**通过更改模块中的设置来更改 IIS 7.5 中的设置来编辑 DefaultAuthentication 和 FormsAuthentication 的托管模块。
当我取消选中“仅为对 ASP.NET 应用程序或托管处理程序的请求调用”复选框并保存时,我收到如下所示的警告消息。
“在此应用程序的引用程序集中找不到指定的类型。请确保该程序集已添加到此应用程序的 web.config 的 system.web/compilation 部分中的程序集列表中。您还想继续吗? "
我在博客上读到我们可以忽略此警告消息,然后单击警告消息中的“是”选项以保存设置。
保存更改后,这会在 Web.config 中添加以下行:
<remove name="DefaultAuthentication" />
<remove name="FormsAuthentication" />
<add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" preCondition="" />
<add name="DefaultAuthentication" type="System.Web.Security.DefaultAuthenticationModule" preCondition="" />
在这些更改之后,用户仍然能够在没有任何身份验证的情况下查看非托管资源。
我在这里有什么遗漏吗?有没有其他方法可以实现这一目标?