1

OpenDJ Client SDK を使用して LDAP サーバーにログインできる Java アプリケーションを作成していますが、Domain NameUser Name (別名 SAMAccountName)、およびPasswordしかありません。ドメイン ログインがわからない場合は、次の画像を参照してください。

ここに画像の説明を入力

ユーザー名フィールドは、プレーンな USER_NAME ではなく、DOMAIN_NAME\USER_NAME の形式で入力します。ドメイン名の例: corp.fabrikam.com。


ドメイン名を識別名 (DN) に変換する方法を知る必要がありますか? OpenDJ が LDAP に接続するには識別名が必要なためです。

例: corp.fabrikam.com の識別名は、dc=corp、dc=fabrikam、dc=com です。

「.」で分割する必要があるようですが、Disjoint Domain と呼ばれるものがあると聞きました:
http://technet.microsoft.com/en-us/library/cc731125%28v=ws.10%29.aspx

したがって、ここでは分割トリックは信頼できない場合があります。

また、LDAP のユーザーは組織単位 (OU)の下にある場合があります。ユーザーjohnがマネージャOU に属しているとします。したがって、john の完全なユーザー DN は次のようになります。

uid=john、ou=マネージャー、dc=corp、dc=fabrikam、dc=com

4

1 に答える 1

2

接続先の環境に関する情報を取得するには、常に LDAP サーバーの RootDSE エントリを参照する必要があります。RootDSE エントリは、匿名バインド (または特定のユーザー。バインドされている限り、実際には関係ありません) で誰でも読み取ることができます。これには多くの興味深いものが含まれています。探しているのは defaultNamingContext です。

バインドしたら、空文字列 '' の DN に対して LDAP 読み取り操作を実行します。選択したフレームワークが rootDSE を読み取るための API を提供している場合は、それを使用してみてください。もっと単純かもしれません。

これは、キックスタートを得るのに役立つかもしれません: http://opendj.forgerock.org/opendj-ldap-sdk/apidocs/index.html opendj のドキュメント ページで defaultNamingContext についての言及は見つかりませんでした。 getNamingContexts() メソッドを介して探している情報。

rootDSE は LDAP 機能であり、実装固有ではないことに注意してください。

于 2013-04-15T16:37:44.607 に答える