Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# FormsAuthentication在更改域后无法进行身份验证_C#_Sql Server 2008_Iis 6_Forms Authentication_Windows Server 2003 - Fatal编程技术网

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

C# FormsAuthentication在更改域后无法进行身份验证,c#,sql-server-2008,iis-6,forms-authentication,windows-server-2003,C#,Sql Server 2008,Iis 6,Forms Authentication,Windows Server 2003,我在试图协助的一个客户项目中遇到了一个有趣的FormsAuthentication问题。问题是: web应用程序的域已从.companyA.com更改为.companyB.com,我设置了一个IIS重定向,将试图访问.companyA.com的任何人发送到.companyB.com。那很好用 现在我无法登录到该站点。我做了一些挖掘,发现web.config中定义了authCookie,所以我将authCookie域更改为match.companyB.com。我仍然无法登录 我做了更多的挖掘,发

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

  • web应用程序的域已从.companyA.com更改为.companyB.com,我设置了一个IIS重定向,将试图访问.companyA.com的任何人发送到.companyB.com。那很好用

  • 现在我无法登录到该站点。我做了一些挖掘,发现web.config中定义了authCookie,所以我将authCookie域更改为match.companyB.com。我仍然无法登录

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

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


编辑:好的,在进一步挖掘之后,我发现用户没有进行身份验证不是主要问题。连接到reporting service DB时出现问题,异常正在消失。谢天谢地,它出现在事件查看器中。不幸的是,这仍然给我留下了一些问题,我无法理解为什么SQL不再对我进行身份验证,以及更改域名如何可能导致这种情况。

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

您可能会看到cookie已经设置好了,但以后会丢失。这可能是因为cookie是为域A发布的(您将在调试器中看到cookie的域),而浏览器没有将其传递到域B(浏览器应该这样做;它永远不会将cookie传递到其他域)


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

我正在使用firebug查看响应。仅创建了会话cookie,但它具有正确的域。似乎authCookie没有被创建,这毫无意义,因为我从未改变过任何逻辑。我不知道firebug显示了什么。100%确定的是,使用Fiddler。看起来它甚至还没有达到可以设置authCookie的程度。我想这是特定于域的,我必须自己弄清楚。你在哪个网站上进行身份验证?在web.config中更改域后,cookie域是否更改?我在web.config中更改了cookie域。我不确定这是否需要在其他地方改变。当前在站点上创建的Cookie都具有正确的域。