3

ldap.js を使用して Active Directory Windows 2008 サーバーへの認証を試みています。唯一の目標はサーバーに対して認証することであり、私はクライアント側のものを使用しています (新しいサーバーを作成するのではなく、すべてのドキュメントについてです)。私は LDAP にまったく慣れていないため、ユーザー名 "MYDOMAIN\myuser" による認証は 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).

ldap.js でそれを試みるとclient.bind("MYDOMAIN\myuser", 'pa33w0rd', function(err) { ... } );失敗します49 InvalidCredentialsError 80090308: LdapErr: DSID-0C0903A9, comment: AcceptSecurityContext error, ...

MYDOMAIN\myuser を識別名 dn: cn=myuser, dc=mydomain として書き換えようとすると、LDAP 検索でも認証エラーで失敗します。DOMAIN\USER (ドメイン バックスラッシュ ユーザー形式) を DN に変換する適切な方法は何ですか?

4

1 に答える 1

3

http://www.rlmueller.net/NameTranslateFAQ.htmから:

  1. 識別名 - RFC 1779 で指定されている形式。たとえば、cn=TestUser,ou=Sales,dc=MyDomain,dc=com.
  2. 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=comますcn=myuser,cn=Users,dc=mydomain,dc=local。AD サーバーのホスト ファイルまたは DNS ドメイン名を確認することをお勧めします。また、-b (ベース) を変更して、dc=com または dc=local、または参照エラーを修正するものを含める必要があります。

于 2013-09-23T22:44:50.043 に答える