0

OpenSSO/Spring Security によって保護されているサーバー間の GET 要求を介して REST サービスにアクセスしようとしていますが、アクセスできません。私のSpring Rest Templateクライアントは、認証ワークフローを介してリダイレクトされるため、Cookieを保持するステートフルではないようです。

ブラウザーでこれを行うと、最初の要求が OpenSSO にリダイレクトされ、証明書 (PKI) を要求され、それを提示し、認証 Cookie ヘッダーで応答を取得します。次に、元の宛先にリダイレクトされ、リクエスト ヘッダーに認証 Cookie を提示して、途中で移動します。

これは、サーバー間の呼び出しでは発生していません。

私はかなり長い間検索してきましたが、リダイレクト全体でこの状態を保持するソリューションが見つからないようです!

4

1 に答える 1

0

zagyi のコメントのリンクをたどるとうまくいったかもしれませんが、もう少し時間をかけて、何もオーバーライドしない次の解決策を見つけました。

REST コントローラーで認証 Cookie を処理するには、Cookie を受け入れるよう明示的に指示する必要があります。呼び出しを処理する前に、次のコード行を追加します。

CookieHandler.setDefault(new cookieManager(null, CookiePolicy.ACCEPT_ALL));
于 2013-03-12T16:13:26.970 に答える