ホームページ >Java >&#&チュートリアル >Spring Security: 複数の HTTP 構成が機能しないのはなぜですか?
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 サイトの他の関連記事を参照してください。