2

在我的 jsf2 项目中,我在 jboss 7.1 上使用 jaas,当我登录不正确的密码/id 时,jboss 抛出:ERROR [org.jboss.security.authentication.JBossCachedAuthenticationManager] javax.security.auth.login.FailedLoginException: Password Incorrect/Password Required

我编写了一个 ExceptionHandlerFactory 但在异常登录 jboss 控制台后调用了 ExceptionHandlerFactory,有人知道我如何捕捉这个异常吗?我想在它登录控制台之前捕获它,我想打印一个代码错误,如Exception: A-0014

4

2 回答 2

0

没有有效的编程方式来捕捉这个异常。

这是一个管理挑战,因为每个错误的用户/密码调用实例都会转储一个巨大的堆栈跟踪并在 ERROR 级别填满容器日志。

我对扩展 org.jboss.security.auth.spi.UsernamePasswordLoginModule 的自定义登录模块也有类似的情况。在某些时候,被覆盖的超类方法“validatePassword”返回 false。这被“login()”方法的父实现捕获,该方法(错误地)声明“javax.security.auth.login.FailedLoginException:密码不正确/需要密码”。在我的情况下,从未与身份验证服务建立网络连接。

所以实际发生的是 org.jboss.security.authentication.JBossCachedAuthenticationManager 类(内部)是进行日志记录的罪魁祸首(在 ERROR 级别,因此过滤掉是有问题的)。

截至 2012 年 7 月,JBoss 正在跟踪(并且仍然是 JBoss AS 7.1.2)一个“增强”以允许捕获此问题。对于远程调用类型的操作也是有问题的。

于 2012-12-30T22:37:04.777 回答
-2

希望这个Jboss 社区回答链接能帮助你处理你的异常

您可以在登录方法中向您发送消息,例如异常:A-0014

于 2012-12-17T12:49:54.753 回答