首页 文章

使用ldap.js进行Active Directory身份验证

提问于
浏览
3

我一直在尝试使用ldap.js对Active Directory Windows 2008服务器进行身份验证 . 唯一的目标是对服务器进行身份验证,我正在使用客户端(不创建新服务器,这就是所有documentation的内容) . 我对LDAP完全不熟悉,因此,使用用户名_2486507进行身份验证在ldap.js中无法正常工作,但在ldapsearch中进行身份验证: ldapsearch -H ldap://192.168.1.212:389 -x -D 'MYDOMAIN\myuser' -w pa33w0rd -LLL -b "dc=mydomain" '(sAMAccountName=myuser)' 成功进行身份验证但随后吐出 Referral (10) .

client.bind("MYDOMAIN\myuser", 'pa33w0rd', function(err) { ... } ); 尝试在ldap.js中失败 49 InvalidCredentialsError 80090308: LdapErr: DSID-0C0903A9, comment: AcceptSecurityContext error, ...

尝试重新编写MYDOMAIN \ myuser作为Distingushed Name dn:cn = myuser,dc = mydomain也会在ldap搜索中失败并出现auth错误 . 将DOMAIN \ USER(域反斜杠用户格式)转换为DN的正确方法是什么?

1 回答

  • 3

    来自http://www.rlmueller.net/NameTranslateFAQ.htm

    专有名称 - 格式在RFC 1779中指定 . 例如cn = TestUser,ou = Sales,dc = MyDomain,dc = com . NT格式 - Windows NT 4.0中使用的名称格式 . 例如MyDomain \ TestUser,其中MyDomain是域的NetBIOS名称,TestUser是对象的NT名称(Windows 2000之前的名称) . sAMAccountName属性的值是对象的NT名称 .

    因此,NT格式(域反斜杠用户)登录名 MYDOMAIN\myuser 可以映射到 cn=myuser,cn=Users,dc=mydomain,dc=comcn=myuser,cn=Users,dc=mydomain,dc=local 或其他一些 . 我建议你查看AD服务器的hosts文件或DNS域名 . 您还应该更改-b(基础)以包括dc = com或dc = local,或者修改引用错误的任何内容 .

相关问题