JASIG Central Authentication Service 4,自定义身份验证和自定义异常

时间:2014-10-24 08:27:00

标签: single-sign-on cas jasig

我将CAS从3.5.2升级到4。

在版本3.5.2中,我创建了一个CustomAuthentication类,扩展了AbstractJdbcUsernamePasswordAuthenticationHandler以进行自定义身份验证并根据需要抛出异常

示例:

throw new BadCredentialsAuthenticationException("error.accountNotExist");

所以在message.properties中我只是添加了error.accountNotExist =帐户不存在。

然后前端将返回上面的字符串。

在CAS版本4中,AbstractJdbcUsernamePasswordAuthenticationHandler如何更改。不再支持BadCredentialsAuthenticationException。那么如何在cas版本4中执行它以返回我想要的任何自定义字符串?

1 个答案:

答案 0 :(得分:3)

因为没有1个回答,我试着自己找出来。

添加自定义例外的步骤

1创建新的异常类扩展LoginException

messages.properties中的

2为新添加的异常添加相应的消息

login-webflow.xml中的

3 - &gt; handleAuthenticationFailure action-state add <transition on="<yourCustomExcception>" to="generateLoginTicket"/>

4创建一个CustomAuthenticationExceptionHandler.java,复制原始源代码,并在DEFAULT_ERROR_LIST中添加新的异常

cas-servlet.xml中的

5将authenticationExceptionHandler替换为CustomAuthenticationExceptionHandler