ホームページ >Java >&#&チュートリアル >Spring Security で 1 つだけが機能する場合に複数の HTTP 構成をトラブルシューティングする方法

Spring Security で 1 つだけが機能する場合に複数の HTTP 構成をトラブルシューティングする方法

DDD
DDDオリジナル
2024-12-04 19:29:12121ブラウズ

How to Troubleshoot Multiple HTTP Configs in Spring Security When Only One Works?

Spring Security での複数の HTTP 構成: トラブルシューティング

Spring Security での複数の HTTP 構成の使用、特に異なるセキュリティの保護に関して問題が発生しました。 URLとログインページ。問題とその解決策の内訳は次のとおりです:

問題:
管理者アクセス用とコンシューマ アクセス用の 2 つの HTTP 構成を構成しました。ただし、管理セキュリティのみが機能しており、/consumer/** の下のページはログイン リダイレクトなしでセキュリティ保護されていないままです。

解決策:
この問題を解決するには、理解することが重要です。 Spring Security での評価順序:

  1. Authentication Management:ユーザー資格情報の AuthenticationManagerBuilder を構成します。
  2. 複数の HTTP セキュリティ構成:

    • WebSecurityConfigurerAdapter を拡張する複数の内部クラスを作成し、それぞれに独自の @Order アノテーションを付けます。指定する
    • antMatcher を使用して、各 HttpSecurity 構成の適用性を特定の URL に制限します。
  3. URL 優先度:

    • 最も高い HttpSecurity 構成@Order 値 (またはデフォルトの「last」) が最初に適用されます。
    • antMatcher が指定されていない場合、構成はすべての URL (/**) に適用されます。
  4. 設定構造:

    • あなたの場合の最初の構成は、すべての URL (/**) と一致します。これは、すべてのリクエストをキャッチすることを意味します。
    • これは /admin/ のみを保護するためです。 、他の URL (/consumer/ を含む) は暗黙的に許可されます。
    • 2 番目の構成は次のとおりです。

問題を解決するには、より高い @Order 値を指定して、コンシューマー セキュリティ構成が最初に評価されるようにします。さらに、両方の構成に antMatcher を指定して、目的の URL への適用を制限します。

これらの手順に従うことで、複数の HTTP セキュリティ構成を効果的に構成し、Spring Security アプリケーションで異なる URL グループを保護できます。

以上がSpring Security で 1 つだけが機能する場合に複数の HTTP 構成をトラブルシューティングする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。