通过浏览器在Windows Server中获取当前登录的用户

问题描述 投票:-1回答:2

所以...这是我的第一个问题,请放松一下,告诉我是否可以改善问题本身。

问题是,我们正在尝试在node.js中建立Intranet,前提条件之一是,用户不必在每次登录计算机时都进行身份验证。

[我们已经在php中拥有一个使用kerberos和ldap进行身份验证的应用程序,但我们正在尝试避免使用php进行进一步的开发。

因此,主要问题是:有一种方法可以通过node.js获取Windows Server中的当前登录用户?或者以其他方式使用node.js开发SSO网络?

javascript node.js ldap kerberos
2个回答
0
投票

[我认为没有登录就没有安全的身份验证方法。我建议使用node-ldapjs,这样您就不需要PHP与ldap通信。


0
投票

经过一些研究和测试,发现express-ntlm是节点的最佳选择,即使该节点应用程序正在通过Windows Server运行,它也会获得计算机的用户登录名。

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);
© www.soinside.com 2019 - 2024. All rights reserved.