【发布时间】:2011-07-19 13:38:17
【问题描述】:
我必须将我的客户从一个网站转移到另一个网站。这发生在客户端。在这个第二个网站,它使用windows基本认证系统。所以它会弹出登录窗口。我需要省略此弹出窗口并使用 javascript 在第二个网站上验证我的客户端,然后将他重定向到第二个网站。即使我将凭据放入 javascript 文件中也没有安全问题,因为整个系统都在 Intranet 中运行。那么如何在第二个网站上验证客户端?
我找到了这个帖子 How can I pass windows authentication to webservice using jQuery?
但它不起作用。当我查看第二个 url 的请求标头时,它不包含授权标签。
【问题讨论】:
-
请发布您的代码。至少是进行 ajax 调用的部分,因为那是无法添加标头的地方。
-
如果 JS 可以获取用户的凭据并在另一个“域”上冒充用户,那不是一个非常严重的安全漏洞吗?
-
如果不使用某种 SSO(单点登录解决方案),您将无法满足您的要求,而这需要您同时控制这两个网站。您显示的 jQuery 链接仅适用于硬编码 HTTP Basic 身份验证。 NTLM 要复杂得多。此外,jQuery 示例只能通过 AJAX 请求工作。您不能强制浏览器在正常请求中发送 Authentication 标头。
-
您不能使用 Windows 集成身份验证代替基本身份验证吗?
-
试试这个stackoverflow.com/questions/33257969/… 有一个解决方案,它甚至不需要任何特殊配置,除了编写 nodejs 脚本和包含 lib。它很简单。
标签: javascript windows-authentication basic-authentication single-sign-on client-side-scripting