Spring Security: 複数の HTTP 構成が機能しない
カスタマイズされたログイン ページと安全な URL に複数の HTTP 構成が必要な状況に遭遇する可能性があります。次のシナリオが示すように、
@Configuration @Order(1) public static class ProviderSecurity extends WebSecurityConfigurerAdapter { // Security configuration for admin/* routes } @Configuration @Order(2) public static class ConsumerSecurity extends WebSecurityConfigurerAdapter { // Security configuration for consumer/* routes }
ただし、このアプローチでは次のような問題が発生する可能性があります。 1 つの構成のみがアクティブな場合の不一致。これに対処するには、Spring Security リファレンス ガイドを参照してください。
@EnableWebSecurity public class MultiHttpSecurityConfig { // Authentication configuration @Configuration @Order(1) public static class ApiWebSecurityConfigurationAdapter extends WebSecurityConfigurerAdapter { // Security configuration for /api/* routes } @Configuration public static class FormLoginWebSecurityConfigurerAdapter extends WebSecurityConfigurerAdapter { // Security configuration for all other routes } }
キー ポイント:
前の例では、/antMatcher を使用した最初の構成 (すべての URL に一致する) が 2 番目の構成をオーバーライドし、その結果 2 番目の構成の URL が保護されないために問題が発生します。最初の構成のスコープを /admin/ のみに制限することで、2 番目の構成の URL に適切なセキュリティ メカニズムを取得できます。
以上が複数の HTTP 構成を含む Spring Security 構成が機能しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。