FormsAuthentication在更改域后无法进行身份验证

时间:2012-08-30 18:09:25

标签: c# sql-server-2008 iis-6 forms-authentication windows-server-2003

我正在尝试协助的客户端项目上有一个有趣的FormsAuthentication问题。这是问题所在:

  • 网络应用的域名已从.companyA.com更改为.companyB.com,我设置了IIS重定向,以便将试图访问.companyA.com的任何人发送到.companyB.com。这很好用。

  • 现在我无法登录该网站。我做了一些挖掘,发现在web.config中定义了authCookies,所以我更改了authCookie域以匹配.companyB.com。我仍然无法登录。

  • 我做了一些挖掘,发现有一个SQL报告服务器设置。我更改了报告服务器的配置文件中的域以匹配.companyB.com。仍然无法登录。

对于这类问题的一般用途疑难解答,我还能看到其他任何地方吗?我刚刚把它作为一个交火对象,所以我限制了领域知识,无法在VS中打开解决方案,因为他们可用的唯一VS对于解决方案而言太旧了。

编辑:好的,经过进一步的挖掘,我发现用户没有进行身份验证不是主要问题。连接到报告服务DB时出现问题,并且异常被吞没了。谢天谢地,它出现在事件查看器中。不幸的是,这仍然让我遇到问题,我无法弄清楚为什么SQL不会再对我进行身份验证,以及如何更改域名可能会导致这种情况。

1 个答案:

答案 0 :(得分:0)

调试非常简单。只需获取任何http调试器(Fiddler会这样做)并运行您的应用程序。您将看到一个请求列表。只需注意设置auth cookie的响应,然后注意连续请求中发生的事情。

您可能会看到Cookie已设置但进一步缺失。这可能是因为为域A发布了cookie(您将在调试器中看到cookie的域),并且浏览器没有将它传递到域B(浏览器应该这样做;它永远不会将cookie带到其他域) )。

无论如何,http调试器在这里会有很大的帮助。