【发布时间】:2009-12-11 23:02:44
【问题描述】:
我们有一个受表单身份验证保护的 ASP.NET 应用程序。该应用大量使用 MS AJAX 来调用其网络服务。
当表单身份验证超时并且发生 GET 请求时 - 一切正常(用户被重定向到登录页面)。
BUT 当表单身份验证超时并且发生 POST-请求 (ajax) - 不发生重定向,而是应用返回“401 unathorized”并且浏览器提示用于用户名和密码(不是登录表单,而是浏览器内置对话框)。当然,输入任何用户名/密码都无济于事。
我该如何处理?
更新: 在查看 firebug 后,我发现常规 POST 请求重定向到登录很好,只有 Web 服务调用会抛出“401 Unauthorizes”。 常规请求和 Web 服务之间的区别在于 URL。对于常规的后请求,它是“page.aspx”,对于 Web 服务,它是“service.asmx/MethodName”...
【问题讨论】:
-
您是否查看过 FireBug 实际发送到服务器的内容以及响应的内容?浏览器的内置提示通常意味着您尝试访问的资源受到基本或 NTLM 身份验证的保护。您是否为您网站的某些部分启用了此类身份验证?
-
是的,在 IIS 设置中,我们启用了“Windows 集成”身份验证(以及“匿名访问”)。谢谢,我会试试 Firebug
标签: asp.net forms-authentication