具有SavedRequestAwareAuthenticationSuccessHandler的CAS无法正确重定向

时间:2013-11-14 15:41:33

标签: spring redirect spring-security cas

我正在尝试使用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;
}

1 个答案:

答案 0 :(得分:1)

解决了!!!解决方案留在article。请尽可能在spring-security上提出这个问题,以帮助我们扩展CasAuthenticationProvider的功能,link