3

Web アプリでの認証に JNDI を使用しています。OpenLDAP 側では、ppolicy を使用して、(たとえば) 3 回のログイン試行の失敗後にユーザーのアカウントをブロックしています。

私の問題は、特定の問題が何であるかをユーザーに知らせるために特定のエラーメッセージ(「アカウントがロックされています」など)が必要ですが、現在、実行時に例外が発生することです:

InitialLdapContext ctx = new InitialLdapContext(env, null);

そして、例外のメッセージはただ[LDAP: error code 49 - Invalid Credentials].

それを行う方法の例を示す関連記事を見つけました。ただし、どこにもクラスを見つけることができず、PasswordExpiringResponseControlすぐに例外が発生するため、実行できないため、さらに混乱しますrespControls = ctx.getResponseControls()

4

3 に答える 3

3

これは価値があるよりも面倒かもしれませんが、Spring-LDAPを使用すると、これらのエラー コードが適切な例外に自動変換されます。とにかく、ライブラリは本当に素晴らしく、長期的にはコードをよりクリーンで保守しやすくするでしょう。

Spring に慣れていない場合は、習得に少し時間がかかるかもしれません。ただし、そのルートに行きたい場合は、JNDI などを使用して設定する方法を含む、これに関する良い記事です。

于 2010-03-02T18:40:43.807 に答える
3

数年間 Java を行っていないので、戻る必要がないことを願っていますが、万が一の場合に備えて、これをブックマークしました。

http://forums.oracle.com/forums/thread.jspa?messageID=9238232

まさにあなたが探しているものだと思います。

于 2011-05-05T00:21:19.077 に答える
0

まだ試していませんが、これも役立つ場合があります:http ://www.ibm.com/developerworks/tivoli/library/t-ldap-controls/

于 2010-03-02T18:58:39.413 に答える