升级到 .NET 4.0 后,我在表单身份验证中看到了一些新行为。这只发生在 IIS 6 上,而不是 7 上。
背景 - 在 web.config 中,我们配置表单身份验证,然后使用<authorization
> 标记全局拒绝匿名/未经身份验证的用户访问。<location
然后我们明确地允许使用> 标记访问 login.aspx 页面。通常,这可以正常工作,就像我们使用 .NET 2.0 (3.5) 时一样。
该问题仅在我们访问站点的根路径时出现,即“ http://myserver/ ”。我们的默认文档在 IIS 中配置为 login.aspx。在 .NET 4.0 下,访问该 URL 后,我们会被重定向到“ http://myserver/login.aspx?ReturnUrl=/ ”。如果您从此处登录,则您已登录并返回登录页面 (yuck)。
只是想在这里发布这个,看看是否有其他人正在经历这个。它没有列在我能找到的任何“重大更改”文档中。要么我遗漏了一些东西,要么 UrlAuthorization 模块发生了变化,并且不再“聪明”地处理 IIS 默认文档。