2012-01-11 78 views
0

我在我的應用程序中使用JBoss Seam 2.2,並且在處理登錄失敗的方式中看到一些奇怪的行爲。當用戶使用#{identity.login}進行身份驗證失敗時,我看到顯示了多個JSF消息。一個有消息密鑰org.jboss.seam.loginFailed,而另一個有密鑰org.jboss.seam.NotLoggedIn。我顯然會期待第一條消息,因爲這對應於輸入不正確的密碼。但是,爲什麼會顯示第二條消息?沒有理由。我希望能夠從不需要顯示的消息列表中刪除該消息,但我還沒有找到這樣做的方法。思考?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 2012-01-11 19:20:07

相關問題