使用 Angular2 的 NTLM 身份验证

NTLM authentication using Angular2

在我的客户端 Web 应用程序中,我需要使用 ntlm 协议向服务器进行身份验证。在使用 Angular1 时,通过 $http 服务获取请求,浏览器 (chrome, edge) 通过提示用户输入 username/password.

来执行 NTLM 身份验证的所有 3 个步骤

但是,使用Angular2,使用Angular2自带的http服务,浏览器(chrome,edge)只是return401,不做后续步骤(他们甚至不提示凭据的用户)。

如何让浏览器在使用 Angular2 时为我执行 ntlm 身份验证? 请不要建议 ntlm javascript 库。 我是 Whosebug 的新手。如果我没有提供足够的信息或重复这个问题,我很抱歉。

提前致谢。

我认为问题不在于 NTLM 或您的编码工作。根据 Anton Bessonov 的说法,一位非常有名望的 SO 社区成员,Angular2 中的一些模块还没有生产就绪,而 Angular1 是一个非常稳定的代码版本,我的建议是在可预见的未来坚持使用 Angular1。参考:angular 1 vs angular 2 for new project

"withCredentials" 需要在 headers 中设置 true 才能使其工作。我的代码现在可以工作了。

let options = new RequestOptions({ headers: headers, withCredentials: true });