只要凭据已过期,我就需要重定向到changePassword页面。 我的登录组件在检测到凭据已过期时抛出CredentialsExpiredException。到目前为止一切都很好。
我想在web.xml中配置重定向,如下所示:
<error-page>
<exception-type>
javax.security.auth.login.CredentialExpiredException
</exception-type>
<location>/protected/template/passwordChange.xhtml</location>
</error-page>
但重定向不会发生。相反,如果我尝试使用ViewExpiredException,它将起作用:
<error-page>
<exception-type>
javax.faces.application.ViewExpiredException
</exception-type>
<location>/protected/template/passwordChange.xhtml</location>
</error-page>
问题在于,从阻止帐户到无效凭据的所有内容都会生成ViewExpiredException,因此它不适用于我需要的内容。
有人可以提供一些指示,了解如何为登录组件中抛出的CredentialExpiredException实现此重定向?
这是我的设置: - JAAS - Tomcat7,Java7,JSF2
我知道还有其他选项可以实现这一点,例如使用过滤器。我认为这将是解决问题的一种更清洁的方式。
提前致谢!