我有一个启用了窗体身份validation的ASP.NET应用程序,部署到IIS 7服务器。 在web.config文件中,我添加了<location>部分以从authentication中排除默认文档(index.html / default.aspx)。
如果我浏览目录http://mysite.com/default.aspx ,它按预期工作。 它不要求authentication。 但是,如果我导航到http://mysite.com/ ,它总是redirect到表单身份validationlogin页面。
我在IIS中默认的文档设置为default.aspx ,但是如果我没有在URL中包含default.aspx页面,它总是会redirect。
有什么办法可以防止redirect到login页面,如果用户只是在浏览“根”网站?
位置标签可以定位特定的文件和子文件夹,但不能定位到根(即/)。 一种select是从所有允许和阻止的文件和文件夹开始。 问题是,如果您忘记为新文件夹执行此操作,则您的网站可能会受到攻击。
我相信你可以使用URL重写来处理默认的文档,并用“重写”规则指向default.aspx。 例如,在URL匹配中,使用“^ $”,这意味着什么都没有。 然后执行该操作,重写为/default.aspx。 那么.NET将会看到/default.aspx,并且不会为你redirect。