私のWebアプリケーションでは、私はフォームベースのログインを使用しています。私は、login-config.xmlで設定されたテーブルのデータに加えて、別のデータベースに存在するユーザを検証する必要があるシナリオを持っています。j_security_check認証の後に別のWeb認証メカニズムを続けることはできますか?
だから、私はこの流れを考えていた:
ユーザーは、保護されたリソースにアクセスしようとする - >アクティブなセッション場合は、フォームにログインするためにリダイレクトされます - >ユーザーは自分の資格情報を入力 - >のj_security_checkログインごとに認証を行います-config.xml - >認証が成功した場合はうまくいって、そうでない場合はjspエラーページにリダイレクトします。ユーザーが他のDBに存在するかどうかを確認します(特定のActive Directoryに存在します)。資格情報)を作成し、成功した場合にセッションを作成する - >そうでない場合はエラーページにリダイレクト
太字で強調表示されている部分はまったく可能ですか?
私はいくつかの記事で、認証がj_security_checkに与えられたら、それを徹底的に吟味する方法がないと読んでいます。本当ですか?
他のデータベースからlogin-config.xmlで指定されたテーブルにユーザーを追加するか、login-config.xmlを変更する以外にも、この問題の解決策はありますか?
(私はJbossを使用しています)
ありがとうございました。
@Piotr Kochanskiのお返事ありがとうございます。 私はおそらく解決策のベストではない代替を試みました。 私たちがしたことは次のとおりでした: j_security_checkは私のローカルデータベースに対してユーザーを検証しようとします。 ユーザは存在しないので、エラーページに進みます。エラーページをサーブレットに置き換えます。ここで、他のDBのユーザをチェックし、有効なユーザであればローカルDBにエントリを作成していますこれらの資格情報をj_security_checkに再度転送します。エントリが存在するので、ユーザはアクセスが許可されます。 – Sudhakar