0

在我试图协助的客户项目中,我遇到了一个有趣的 FormsAuthentication 问题。这是问题所在:

  • Web 应用程序的域从 .companyA.com 更改为 .companyB.com,我设置了 IIS 重定向,将任何试图访问 .companyA.com 的人发送到 .companyB.com。这工作得很好。

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

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

对于此类问题的通用故障排除,我还有其他地方可以查看吗?我刚刚被当作交火,所以我的领域知识有限,无法在 VS 中打开解决方案,因为他们唯一可用的 VS 对解决方案来说太旧了。

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

4

1 回答 1

0

调试非常简单。只需获取任何 http 调试器(Fiddler 即可)并运行您的应用程序。您将看到一个请求列表。只需注意设置身份验证 cookie 的响应,然后注意连续请求中发生的情况。

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

无论如何,一个 http 调试器将在这里提供很大的帮助。

于 2012-08-30T18:26:36.107 回答