2012-01-11 44 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