Overview
ディレクトリ サーバーのユーザー名とパスワードを使用して、LDAP(Lightweight Directory Access Protocol)サーバーで認証できます。
Tip
PLAIN 認証
認証メカニズムに LDAP ではなく PLAIN という名前が付けられているのは、ドライバーが RFC-4616 で定義されている PLAIN 簡易認証とセキュリティ レイヤー(SASL) を使用して認証するためです。
LDAP 認証の指定
このセクションの例では、接続文字列または MongoCredentialクラスを使用して LDAP認証を指定する方法を示します。 以下のプレースホルダー値を置き換えます。
<LDAP username>: LDAPユーザー名。<password>: LDAP パスワード。<hostname>: MongoDBデプロイのネットワーク アドレスで、クライアントからアクセスできます。<port>: MongoDBデプロイのポート番号。 このパラメーターを省略すると、ドライバーはデフォルトのポート番号(27017)を使用します。
この認証メカニズムを指定するための手順とサンプル コードについては、以下の [ ] タブまたは [Connection String ] タブを選択してください。MongoCredential
接続文字列を使用して LDAP認証メカニズムを指定するには、次のタスクを実行します。
authMechanismURL パラメータに値PLAINを割り当てます(任意)
authSourceURLパラメータに値$externalを割り当てます
注意
PLAIN メカニズムを指定する場合、authSource を $external 以外の値に割り当てることはできません。 authSource 値を指定しない場合、ドライバーはデフォルトで $external になります。
次のコードでは、 接続文字列で認証メカニズムを指定します。
MongoClient mongoClient = MongoClients .create("<LDAP username>:<password>@<hostname>:<port>/?authSource=$external&authMechanism=PLAIN");
MongoCredentialクラスを使用して LDAP認証メカニズムを指定するには、次の例に示すように createPlainCredential() メソッドを使用します。
MongoCredential credential = MongoCredential .createPlainCredential("<LDAP username>", "$external", "<password>".toCharArray()); MongoClient mongoClient = MongoClients.create( MongoClientSettings.builder() .applyToClusterSettings(builder -> builder.hosts(Arrays.asList(new ServerAddress("<hostname>", <port>)))) .credential(credential) .build());
詳細情報
MongoDBへの認証の詳細については、 MongoDB Serverマニュアルの 認証 を参照してください。
MongoClientJava Reactive Streams ドライバーを使用して オブジェクトを作成する方法について詳しくは、「 MongoClient の作成 」ガイドを参照してください。
API ドキュメント
このガイドで言及されているクラスとメソッドについて詳しくは、次の API ドキュメントを参照してください。