奇怪的问题:IE8 用户无法通过 Web 服务进行身份验证

发布于 2024-09-05 05:43:19 字数 312 浏览 9 评论 0原文

我有一个 ASP.NET 应用程序。它有一个需要身份验证的页面。经过身份验证的用户可以查看该页面,因为他/她已通过身份验证。该页面对 WCF 服务进行 jQuery Ajax 调用。 WCF 服务检查用户是否通过 HttpContext 进行身份验证。我有一个使用 WinXP 和 IE8 的用户。该用户可以对页面进行身份验证,但是当从页面向 wb 服务进行 Ajax 调用时,用户会在页面上收到我的“会话未经过身份验证”消息,该消息由服务生成并显示在页面上。当我使用相同的操作系统/浏览器组合时,页面和服务工作得很好,正如预期的那样;没有错误。

该用户的 IE 设置中的哪个选项会导致此行为?

I have an asp.net app. It has a page that requires authentication. The authenticated user can view the page because he/she is authenticated. The page makes a jQuery Ajax call to a WCF service. The WCF service checks that the user is authenticated via HttpContext. I have a user that is using WinXP and IE8. This user can authenticate to the page, but when the Ajax call is made from the page to the wb service, the user recieves my "session not authenticated" message on the page, generated by the service and displayed on the page. When I use the same OS/browser combo, the page and service work just fine, as expected; no errors.

What option in this user's IE settings would cause this behavior?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

扬花落满肩 2024-09-12 05:43:19

事实证明,我只是愚蠢,违反了“同源原则”。我的服务位于 mydomain.com,而我的用户可能位于 www.mydomain.com 的页面上。由于域不完全匹配,服务将失败。因此,我在服务器上设置了一些重写规则,以便无论浏览器请求的域是什么变体,它总是会重写到 www.mydomain.com。然后,我只需将服务调用设置为该域(或者在本例中,仅使用 window.location.hostname),所有问题都得到解决。伟大的“D'oh”时刻。

It turns out that I was just being stupid and was violating the "same origin principle". My service was at mydomain.com and my user was probably on a page at www.mydomain.com. The service would fail because the domains didn't match completely. So, I setup some re-write rules on the server so that no matter what variant of the domain that was requested by the browser, it would always re-write to www.mydomain.com. Then, I simply set the the service call to the that domain (or in this case, just used window.location.hostname), and all problems were resolved. Big "D'oh" moment.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文