2012-01-11 10 views
0

私はアプリケーションでJBoss Seam 2.2を使用していますが、ログインの失敗の処理方法には奇妙な動作が見られます。ユーザーが#{identity.login}を使用して認証に失敗すると、複数のJSFメッセージが表示されます。一方はメッセージキーorg.jboss.seam.loginFailedを持ち、もう一方はキーorg.jboss.seam.NotLoggedInを持っています。私は間違ったパスワードを入力することに対応するので、明らかに最初のメッセージを期待しています。しかし、なぜ2番目のメッセージが表示されていますか?理由はない。私はそれが必要でないときに表示されるメッセージのリストから削除することができるようにしたいと思いますが、そうする方法は見つけられていません。思考?Seam/JSF - ログイン失敗時の複数のメッセージ?

答えて

1

org.jboss.seam.security.FacesSecurityEventsそれはorg.jboss.seam.security.notLoggedInイベントを観察するときorg.jboss.seam.NotLoggedInメッセージを追加します。試みは、認可の特定のレベルを必要とするリソースにアクセスするためになされたときorg.jboss.seam.security.notLoggedInイベントが発生しますが、ユーザーがログインしていません。認証が失敗した後

は、ユーザーが保護されたページにリダイレクトされていますか?保護されたリソースにアクセスしているカスタムログインロジックがありますか?

pages.xml、components.xml、およびカスタム認証ロジックを用意することをお勧めします。

+0

問題は#{identity.login()}を処理し、ユーザーをホームページにリダイレクトするグローバルリダイレクトがあることです。しかし、ログインが実際に成功したかどうかを確認するルールがないため、Seamは(認証されていない)ユーザーを制限ステートメントでブロックされていたホームページにリダイレクトしようとしていました。ご協力いただきありがとうございます! – Shadowman

関連する問題