2014-11-17 55 views
4

我经历了一些网站,以更好地了解ntlm像http://www.innovation.ch/personal/ronald/ntlm.html。 我开始创建一个演示,使用ntlm对nodejs应用程序中的用户进行身份验证。在此演示中,我使用expressjsexpress-ntlm模块创建了应用程序。 但我仍然不明白,ntlm如何与nodejs webservices协同工作?NTLM如何在web服务中对用户进行身份验证?

我在脑海里有一些关于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); 
+1

[express-ntlm](https://www.npmjs.com/package/express-ntlm)现在已更新并将其请求代理到Active Directory。所以不可能使用任何东西作为用户名和密码。 –

回答

5

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

看那部分非集成的身份验证

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

+0

谢谢,这有助于我开发应用程序,但仍然存在问题:NTLM如何适用于Web服务? –

+0

需要说明的是,当您询问“NTLM如何用于Web服务”时,您的意思是“如何使用NTLM对RESTful API调用进行身份验证”? –

+0

是的,我知道ntlm是如何工作的,但是对于webservices验证,验证的过程或流程是什么,ntlm验证有什么不同,而不是普通的验证? –

2

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

同样如Brian Shamblen所建议的,您并不需要深入了解所有这些内容,passport.js可以高效地为您处理所有这些问题。这里是一个教程http://passportjs.org/guide/

相关问题