我将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中执行它以返回我想要的任何自定义字符串?
答案 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