Получить текущего зарегистрированного пользователя на Windows сервере через браузер - PullRequest
0 голосов
/ 22 января 2020

Итак ... Это мой первый вопрос здесь, так что успокойтесь, и скажите мне, могу ли я улучшить что-либо по самому вопросу.

Проблема в том, что мы пытаемся сделать int anet в node.js и одним из предварительных условий является то, что пользователю не нужно проходить аутентификацию каждый раз, когда он входит в систему на компьютере.

У нас уже есть приложение в php, которое использует kerberos и ldap для аутентификации, но мы стараемся избегать php для дальнейшей разработки.

Итак, главный вопрос: способ получить текущего зарегистрированного пользователя на сервере Windows через node.js? Или каким-то другим способом создать единую сеть с node.js?

Ответы [ 2 ]

0 голосов
/ 22 января 2020

После некоторых исследований и тестов выяснилось, что express-ntlm был лучшим вариантом для узла, и получает логин пользователя машины, даже если приложение узла запускается через 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);
0 голосов
/ 22 января 2020

Я не думаю, что есть безопасный способ аутентификации без входа в систему. Я бы порекомендовал использовать node-ldap js, таким образом, вам не нужно PHP для связи с LDAP.

...