Spring LDAP リファレンス ドキュメントを読みましたが、LDAP サーバーに対するユーザー認証が自動化されているかどうかを判断できませんでした。
「自動化された」とは、ContextSource
. つまり、プログラマーが呼び出す必要はありませんLdapTemplate.authenticate(...)
。これは「舞台裏」で行われます。
だから私は知りたいです
- Spring LDAP 認証が自動の場合
- この動作を変更するために設定できるフィールドがある場合
ありがとう、
ktm
編集:私が書いたいくつかのコードのコンテキストでこの質問をします。以下ContextSource
は、ユーザーが選択して使用できる、Bean ファイル内のコンテキスト ソースの 1 つです。これは、実行時に userDn とパスワードを構成するために使用されます (セキュリティ上の理由から)。認証で実行時に収集した userDn/password を LDAP アプリケーションが実際に使用するかどうかを知りたいです。(認証はコードの実行に先行しますか? コードが構成する userDn/password フィールドを無視しますか?)
public class RuntimeContext extends LdapContextSource {
public RuntimeContext() {
super();
if (!resolveAuthInfo()) {
System.out.println("Failed to resolve auth info. Exiting...");
System.exit(1);
}
}
public boolean resolveAuthInfo()
{
String myUserDn, myPassword;
try {
BufferedReader br = new BufferedReader(
new InputStreamReader(System.in));
System.out.print("userDn: ");
myUserDn = br.readLine();
System.out.print("password: ");
myPassword = br.readLine();
} catch (IOException e) {
return false;
}
super.setUserDn(myUserDn);
super.setPassword(myPassword);
return true;
}
}