新しいクライアントの場合、アプリケーションの JAAS 認証を LDAP に置き換える必要があります。
フローはjavax.security.auth.login.LoginContext
クラスの login() に進みます。ここでは、認証するための2つのステップがあります
// module invoked in doPrivileged
invokePriv(LOGIN_METHOD);
invokePriv(COMMIT_METHOD);
invokePriv(LOGIN_METHOD);
JAAS ログイン クラスまたは LDAP ログイン クラスに移動し、loginSucceeded = true として返されます。
ただしinvokePriv(COMMIT_METHOD);
、LDAP ログインには失敗します。API でデバッグしている間、この行のステータスに対して false を返しています
boolean status = ((Boolean)methods[mIndex].invoke
(moduleStack[i].module, args)).booleanValue();
私はこの問題について完全に無知です。API クラスであるため、デバッグ中に変数の値を確認できません。
LDAP 認証中の IntialContext の作成が JAAS API の LoginContext を台無しにしている可能性があります。
Note: I know there is a JAASLDAP module available. I will be implementing that in next iteration.