NTLM如何用于web服务来validation用户身份?

为了更好地理解ntlm,我浏览了一些网站,例如http://www.innovation.ch/personal/ronald/ntlm.html 。 我开始创build一个使用ntlm在nodejs应用程序中validation用户的演示。 在这个演示中,我使用expressjsexpress-ntlm模块创build了应用程序。 但是我还是不明白,ntlm如何与nodejs webservices协同工作?

我在脑海里有一些关于ntlmauthentication的问题。

  • ntlm如何为web服务工作?
  • 如何在使用ntlm时自定义login页面? 目前我正在获取login凭据的input框。
  • 我可以使用哪些用户进行身份validation? 目前该应用程序接受任何作为用户名和密码。 所以我不清楚它将使用哪个用户名和密码。

这是我的代码。

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); 

有一个Passport.js身份validation策略,支持NTLM身份validation,并有一个允许自定义login屏幕的方法。 如何configuration它将取决于您使用的服务器types,但是他们在解释示例中的概念方面做得很好。

查看非集成身份validation部分

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

我想你正在寻找这个答案 。 通过josh3736阅读答案,他解释了NTLM的stream程。

也正如Brian Shamblen所build议的那样,您不需要深入了解所有这些东西,passport.js可以高效地为您处理所有这些事情。 这里是一个教程http://passportjs.org/guide/