2011-08-11 11 views
1

私は3つのアクティブディレクトリサーバーを持っています異なるアドレス、ポート、ドメイン名とすべて 私のアプリでは、ユーザーログイン時にシステムを認証する必要があります。ユーザーはドメイン名またはIPアドレスではなく、ユーザー名とパスワードのみを提供します。 すべてのLDAPサーバーをループしてコンテキストを取得する必要があるかどうか、彼を認証するにはどうすればよいですか。それ以外の解決策がありますか?複数のサーバーでユーザーを認証する 提案する。事前に感謝します複数のアクティブなディレクトリサーバー認証を使用してJava

+0

いいえ、一度に1つずつサーバーをチェックする必要があります。ユーザーが認証されたサーバーの詳細を保存してみると、3つのサーバーを1回ループするだけです。 – Ali

+0

@Saiyansharwan:特定のユーザーとパスワードの組み合わせが複数のサーバーで利用できる場合はどうなりますか? – home

+0

これはあなた次第です。あなたの文脈で最善の選択をする。最初の勝利またはエラー。 –

答えて

0

ユーザーがユーザー名の代わりに自分のFDNまたはUPN(ユーザープリンシパル名)を入力した場合、そのユーザーは便利です。しかし、まだあなたの領土名に合っているという保証はありません。もし彼がFDNを与えたら、少なくとも3つのサーバすべてからdefaultNamingContextをキャッシュして、ユーザが提供するfdnと照合し、一致するサーバに対して認証することができます。

しかし、彼はあなたのケースでsamAccountNameを提供していると思います。この場合、サーバーを特定する手がかりはありません。あなたは1つずつ進んで、次回のパフォーマンス改善のためにどのサーバーを認証するかをキャッシュしておく必要があります。同じユーザー名が複数の広告に存在する可能性もあります。あなたのAD環境に基づいてこのケースを処理する必要があります。

WebアプリケーションがspringのldapTemplateを使用しようとすると、追加の注意が必要です。これはあなたの仕事を楽にするかもしれません。

関連する問題