Web アプリでの認証に JNDI を使用しています。OpenLDAP 側では、ppolicy を使用して、(たとえば) 3 回のログイン試行の失敗後にユーザーのアカウントをブロックしています。
私の問題は、特定の問題が何であるかをユーザーに知らせるために特定のエラーメッセージ(「アカウントがロックされています」など)が必要ですが、現在、実行時に例外が発生することです:
InitialLdapContext ctx = new InitialLdapContext(env, null);
そして、例外のメッセージはただ[LDAP: error code 49 - Invalid Credentials]
.
それを行う方法の例を示す関連記事を見つけました。ただし、どこにもクラスを見つけることができず、PasswordExpiringResponseControl
すぐに例外が発生するため、実行できないため、さらに混乱しますrespControls = ctx.getResponseControls()
。