同じ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;
}