NTLM如何用于Web服务以对用户进行身份验证?

时间:2014-11-17 08:17:42

标签: node.js rest http express ntlm

我浏览了一些网站,以便更好地了解ntlm,例如http://www.innovation.ch/personal/ronald/ntlm.html。 我开始创建一个演示,使用ntlm对nodejs应用程序中的用户进行身份验证。在本演示中,我使用 expressjs express-ntlm 模块创建了应用程序。 但我仍然不明白,ntlm如何与nodejs webservices一起工作?

我在脑海中有一些关于ntlm身份验证的问题。

  • ntlm如何用于webservice?
  • 如何在使用ntlm时自定义登录页面?目前我正在获取登录凭据的输入框。
  • 我可以使用哪些用户进行身份验证?目前,该应用程序接受任何用户名和密码。所以我不清楚它将使用哪个用户名和密码。

这是我的代码。

var app, express, ntlm;

express = require('express');

ntlm = require('express-ntlm');

app = express();

app.all('/', ntlm());

app.get('/', function(request, response) {
  response.send(request.ntlm);
});

app.listen(3000);

2 个答案:

答案 0 :(得分:5)

有一种支持NTLM身份验证的Passport.js身份验证策略,并且有一种允许自定义登录屏幕的方法。如何配置它将取决于您使用的服务器类型,但他们在解释其示例中的概念方面做得很好。

请参阅非集成身份验证

部分

https://www.npmjs.org/package/passport-windowsauth

答案 1 :(得分:2)

我认为您正在寻找this answer。阅读josh3736的答案,他解释了NTLM中的流程。

同样正如Brian Shamblen所建议的,你真的不需要了解所有这些东西,passport.js可以为你有效地处理这一切。这是一个教程http://passportjs.org/guide/