Spring Security OAuth2を使用してRESTサービス(サーバー間通信用、ユーザーの関与なし)を保護します。ただし、ブラウザで保護されたリソースにアクセスしようとすると、次のように表示されます。
<oauth>
<error_description>
An Authentication object was not found in the SecurityContext
</error_description>
<error>unauthorized</error>
</oauth>
これを自分で選択したカスタムページにします。方法はありますか?
access-denied-pageを設定しても効果はありません。1つは、これは純粋なサーバー間通信であるため、ログインページの定義が必要です。もう1つは、この属性はSpring3.0..以降で非推奨になっていると思われます。
とにかく..OAuthエラー処理への道をデバッグしました。そして、エラーページに表示される情報で応答がどういうわけか充実しているように見えることがわかりました。どうやらページのレンダリングはまったく行われていないので、置き換えるエラーページはないようです..?!
少なくとも、OAuthを使用しているという事実を隠し、「実際の」ページを作成できない場合は基本的な「拒否」テキストを表示したいのです。したがって、Springセキュリティハンドラーを拡張するか、カスタムを追加する必要があります。応答を変更するためのフィルター?!
たぶん私たちのエラーページへのリダイレクト?
ありがとう!
編集
現在の設定については、ここで他のSOの質問を確認してください