我正在尝试使用CAS和Spring Security解决问题,当我链接到另一个用于同一CAS服务器的URL时。
我尝试使用SavedRequestAwareAuthenticationSuccessHandler更改SimpleURLAuthenticationSuccess,就像在此link中一样,但仍无效。
为了更好地展示我的方案:
我有两个应用程序在同一个CAS服务器上运行。 当我访问应用程序1时,我转到CAS服务器。 登录后,我正常访问应用程序的上下文。
当我尝试通过以下链接访问应用程序2时出现问题
<a href="/applicationB/pages/motors/1"/>
我被重定向到CAS并且CAS将我重定向到/ applicationB,应用程序的上下文。
根据这个link,我应该通过SavedRequestAwareAuthenticationSuccessHandler来改变bean SimpleURLAuthenticationSuccess
被修改
我看到可能解决方案不是使用SavedRequestAwareAuthenticationSuccessHandler,因为,CasAuthenticationFilter扩展了AbstractAuthenticationProcessingFilter,这个类有以下方法:
/**
* Sets the strategy used to handle a successful authentication.
* By default a {@link SavedRequestAwareAuthenticationSuccessHandler} is used.
*/
public void setAuthenticationSuccessHandler(AuthenticationSuccessHandler successHandler) {
Assert.notNull(successHandler, "successHandler cannot be null");
this.successHandler = successHandler;
}