1

同じCASサーバーを使用する別のURLへのリンクを行うときに、Spring SecurityでCASを使用して問題を解決しようとしています。

このリンクのように、SimpleURLAuthenticationSuccess を SavedRequestAwareAuthenticationSuccessHandler で変更しようとしましたが、まだ機能していません。

私のシナリオをよりよく示すために、次のようにします。

同じ CAS サーバーで 2 つのアプリケーションを実行しています。アプリケーション 1 にアクセスすると、CAS サーバーに移動します。ログイン後、アプリケーションのコンテキストに通常どおりアクセスします。

次のリンクからアプリケーション 2 にアクセスしようとすると、問題が発生します

<a href="/applicationB/pages/motors/1"/>

私は CAS にリダイレクトされ、CAS は私をアプリケーションのコンテキストである /applicationB にリダイレクトします。

このリンクによると、私は単にSavedRequestAwareAuthenticationSuccessHandlerによってBean SimpleURLAuthenticationSuccessを変更する必要があります

編集済み

CasAuthenticationFilter は AbstractAuthenticationProcessingFilter を拡張し、このクラスには次のメソッドがあるため、解決策が SavedRequestAwareAuthenticationSuccessHandler を使用していない可能性があることがわかりました。

/**
 * 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;
}
4

1 に答える 1