我正在尝试使用Nodejs向具有Active Directory的服务器进行身份验证。我读到了很多答案,但是没有人使用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才能工作。
有人可以帮我实现它吗?
谢谢
答案 0 :(得分:0)
如果您也包含域,则可以使用sAMAccountName对Active Directory LDAP进行身份验证-例如company \ logonid而不只是登录ID。您也可以使用完整的userPrincipalName,例如logonid@company.ccTLD
对于任何一种格式,您都不使用任何LDAP语法组件(something =或,ou = xyz,dc = abc)。您仅使用登录ID和域名(在上面的示例中,旧样式域名为company,AD样式域名为company.ccTLD)