通过浏览器获取 Windows 服务器中的当前登录用户
Get current logged user in Windows Server via browser
所以...这是我的第一个问题,请放轻松,告诉我是否可以改进问题本身。
问题是,我们正在尝试在 node.js
中创建一个内部网,其中一个先决条件是用户不需要在每次登录机器时都进行身份验证。
我们在 php
中已经有一个使用 kerberos 和 ldap 进行身份验证的应用程序,但我们正在努力避免 php
以便进一步开发。
所以,主要问题是:有一种方法可以通过 node.js
获取 Windows 服务器中的当前登录用户吗?或者以其他方式开发具有 node.js
?
的 SSO 网络
我认为没有不登录的安全身份验证方法。我建议使用 node-ldapjs,这样您就不需要 PHP 与 ldap 通信。
经过一些研究和测试,发现express-ntlm
是node的最佳选择,并且获取机器的用户登录,即使node应用程序是运行通过Windows 服务器.
ntlm = require('express-ntlm');
var app = express();
app.use(ntlm({
debug: function() {
var args = Array.prototype.slice.apply(arguments);
console.log.apply(null, args);
},
domain: '<domain>',
domaincontroller: '<ldap://ldap.com>',
}));
app.all('*', function(request, response) {
response.end(JSON.stringify(request.ntlm)); // {"DomainName":"MYDOMAIN","UserName":"MYUSER","Workstation":"MYWORKSTATION"}
console.log(JSON.stringify(request.ntlm));
});
app.listen(3003);
所以...这是我的第一个问题,请放轻松,告诉我是否可以改进问题本身。
问题是,我们正在尝试在 node.js
中创建一个内部网,其中一个先决条件是用户不需要在每次登录机器时都进行身份验证。
我们在 php
中已经有一个使用 kerberos 和 ldap 进行身份验证的应用程序,但我们正在努力避免 php
以便进一步开发。
所以,主要问题是:有一种方法可以通过 node.js
获取 Windows 服务器中的当前登录用户吗?或者以其他方式开发具有 node.js
?
我认为没有不登录的安全身份验证方法。我建议使用 node-ldapjs,这样您就不需要 PHP 与 ldap 通信。
经过一些研究和测试,发现express-ntlm
是node的最佳选择,并且获取机器的用户登录,即使node应用程序是运行通过Windows 服务器.
ntlm = require('express-ntlm');
var app = express();
app.use(ntlm({
debug: function() {
var args = Array.prototype.slice.apply(arguments);
console.log.apply(null, args);
},
domain: '<domain>',
domaincontroller: '<ldap://ldap.com>',
}));
app.all('*', function(request, response) {
response.end(JSON.stringify(request.ntlm)); // {"DomainName":"MYDOMAIN","UserName":"MYUSER","Workstation":"MYWORKSTATION"}
console.log(JSON.stringify(request.ntlm));
});
app.listen(3003);