Java Webアプリケーションでログイン手順をカスタマイズします
-
23-08-2019 - |
質問
珍しいログイン手順を実行する必要があるJavaアプリケーションを書いています。私の問題の1つは、ユーザーが単純なユーザー名/パスワードの組み合わせ以上のものを提供する必要があることです。具体的には、ユーザー名/パスワード/ドメインの組み合わせが必要です。
別の問題は、アプリケーションがパスワードのライフタイムルールを強制することです(例:90日後にパスワードが無効になる)。私が使用する認証サーバーは、パスワードの有効期限が切れている場合に認証を拒否し、ユーザーに新しいものを選択するように強制します。したがって、私のログインプロセスはそれを処理できる必要があります。
残念ながら、標準のj_security_checkサーブレットは、私がそのいずれかを行うことを許可していません。 Java Webアプリケーション用のカスタムで安全なログイン手順を作成する方法はありますか?
注:ドメインの提供に関する問題は、j_usernameフィールドにユーザー名の代わりにユーザー名ドメインを入力してから、カスタムレルムをデコードできるようにすることで、回避できます。ただし、これは少しKludgyであり、とにかく2番目の問題を解決しません。
解決
JAASセキュリティインターフェイスを使用すると、カスタムログインモジュールを作成できます。このロビーモジュールを使用すると、好きなセキュリティチェックを行うことができます。 Jaasの情報を見ることをお勧めします。 0
Jaasを理解するのに役立ったリンクのいくつかは次のとおりです。
http://www.owasp.org/index.php/jaas_tomcat_login_module
http://www.javaworld.com/jw-09-2002/jw-0913-jaas.html
また、Apache Tomcat Realmsの構成方法をご覧ください。
他のヒント
考えていますか スプリングセキュリティ? これらは パスワードの有効期限に関するいくつかの提案です。