Аутентификация с Active Directory с использованием sAMAccountName и пароля / NodeJs - PullRequest
0 голосов
/ 19 октября 2018

Я пытаюсь пройти аутентификацию на сервере с Active Directory, используя Nodejs.Я прочитал много ответов на этот вопрос, но никто не использует для этого атрибут sAMAccountName в качестве атрибута.

Мой код:

let ActiveDirectory = require('activedirectory');
let config = {
              url: 'ldap://XX.XX.XX.XXX:389',
              baseDN: 'DC=domain,DC=com',
              username: 'serverUserName',
              password: 'serverPsw'
             };

let ad = new ActiveDirectory(config);

let username = 'sAMAccountName=11111111111, OU=Usuarios, DC=domain,DC=com',
    password = 'myPassword';

ad.authenticate(username, password, function (err, auth) {
  if (err) {
    console.log('ERROR: ' + JSON.stringify(err));
    return;
  }

  if (auth) {
    console.log('\nAuthenticated!', auth);
  }
  else {
    console.log('\nAuthentication failed!');
  }
});

Этот код работает только при изменении имени пользователя

 'CN=myIdentifier,OU=Usuarios,DC=domain,DC=com' 

и использовать CN в качестве атрибута.

Я действительно не знаю, что делать, но это должно работать с использованием sAMAccountName.

Может кто-нибудь дать мнепомощь как заставить это работать?

Спасибо

1 Ответ

0 голосов
/ 21 октября 2018

Вы можете аутентифицироваться в LDAP Active Directory, используя sAMAccountName, если вы также включаете домен - например, company \ logonid вместо просто идентификатора входа в систему.Вы также можете использовать полное имя пользователя userPrincipalName, например logonid@company.ccTLD

. В любом из этих форматов вы не используете какие-либо компоненты синтаксиса LDAP (что-то = или ou ou xxz, dc = abc).Вы используете только идентификатор входа и доменное имя (в приведенном выше примере доменное имя старого стиля - компания, а доменное имя стиля AD - company.ccTLD)

...