ホームページ >Java >&#&チュートリアル >Spring Security: 複数の HTTP 構成が機能しないのはなぜですか?

Spring Security: 複数の HTTP 構成が機能しないのはなぜですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-02 12:14:10212ブラウズ

Spring Security: Why Aren't My Multiple HTTP Configurations Working?

Spring Security: 複数の HTTP 構成が機能しない

この記事では、複数の HTTP 構成が期待どおりに機能しないという Spring Security の問題について説明します。

問題

A開発者は、複数の WebSecurityConfigurerAdapter クラスを使用して、異なるログイン ページと保護された URL セットを確立しようとしましたが、実装上の問題が発生しました。 URL パターンの 1 つのグループのセキュリティは正しく機能していましたが、もう 1 つのグループはセキュリティで保護されていなかったため、ログイン ページへのリダイレクトが行われませんでした。

解決策

へこの問題を解決するには、開発者は WebSecurityConfigurerAdapter 構成の実行順序が適切であることを確認する必要がありました。 Spring Security は、宣言された順序で構成を処理します。この場合、最初の構成は特定の URL パターン (/admin/) へのアクセスのみを制限しましたが、2 番目の構成は他のすべての URL を保護することを目的としていました。ただし、最初の構成がすべての URL (/) に一致したため、それが優先され、2 番目の構成が適用されるのを事実上妨げられました。

適切な構成

@Configuration
@Order(1)
public static class ProviderSecurity extends WebSecurityConfigurerAdapter {

    // Configure security for /admin/**

}

@Configuration
@Order(2)
public static class ConsumerSecurity extends WebSecurityConfigurerAdapter {

    // Configure security for /consumer/**

}

ConsumerSecurity 構成に @Order 値 2 を割り当てることで、ProviderSecurity 構成の後に処理されるようにします。こうすることで、/consumer/** URL へのアクセスを意図したとおりに制限できます。

以上がSpring Security: 複数の HTTP 構成が機能しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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