0

我需要一些帮助来解决在我的 ASP.net MVC 应用程序中本地使用 Thinktectures Embedded STS 时遇到的奇怪行为。我在使用 ADFS 的服务器上没有看到这个问题。

问题是 在我登录到应用程序后,从那时起大多数 HTTP 调用都会被调用两次。第一个 HTTP 请求没有 FedAuth cookie,服务器使用状态代码 302(重定向)对其进行响应,并且向同一 URL 发出另一个请求,但这次使用 Fedauth cookie。我试图了解是什么导致浏览器在没有 FedAuth cookie 的情况下发送第一个请求,以及为什么服务器重定向到相同的 URL?

我还需要帮助了解 EmbeddedSTS URL 是如何被解析的。我浏览了 Github 上的代码,但我不太清楚 EmbeddedSTS url 是如何解析的。

任何帮助表示赞赏。

4

1 回答 1

0

我能够自己解决这个问题。此问题与区分大小写的 cookie 路径有关。我在 localhost 中的虚拟目录被配置为ATSWeb,但是在进行 AJAX 调用时,我正在为虚拟目录 (atsweb) 构建具有不同大小写的完整 URL。由于 ADFS cookie 是使用路径 /ATSWeb 设置的,因此在执行 AJAX 调用时,浏览器不会将 Fedauth cookie 发送到服务器。这导致了各种各样的问题。

您可以在下面的链接中阅读有关 cookie 路径的更多信息。 http://www.allbacktomine.com/blog/2009/02/04/BrowserCookiesThePathIsCaseSensitive.aspx

为什么 cookie 路径区分大小写?

于 2015-04-20T19:26:48.250 回答