我需要一些帮助来解决我在ASP.net MVC应用程序中本地使用Thinktectures Embedded STS时遇到的奇怪行为。我没有在使用ADFS的服务器上看到此问题。
问题是 登录到应用程序后,从那时起的大多数HTTP调用都会被调用两次。 第一个HTTP请求没有FedAuth cookie,服务器响应状态代码为302(重定向),另一个请求到同一个URL,但这次使用Fedauth cookie。我试图了解是什么导致浏览器在没有FedAuth cookie的情况下发送第一个请求,以及服务器为什么重定向到同一个URL?
我还需要帮助了解EmbeddedSTS URL的解析方式。我浏览了Github上的代码,但我不清楚EmbeddedSTS网址是如何解决的。
感谢任何帮助。
答案 0 :(得分:0)
我能够自己解决这个问题。 此问题与cookie路径区分大小写有关。我在localhost中的虚拟目录配置为 ATSWeb ,但在进行AJAX调用时,我正在使用不同的虚拟目录(atsweb)构建完整的URL。 由于ADFS cookie是使用路径/ ATSWeb设置的,因此在执行AJAX调用时,浏览器不会将Fedauth cookie发送到服务器。这导致了各种各样的问题。
您可以在以下链接中详细了解Cookie路径。 http://www.allbacktomine.com/blog/2009/02/04/BrowserCookiesThePathIsCaseSensitive.aspx