私はスプリングブートの自動設定をよりよく理解しようとしています。特に、CORS要求を動作させるために、HTTP OPTIONS verbの認証を無効にするためにカスタムのスプリングセキュリティ設定を追加する必要があります。カスタムHttpSecurityコンフィグレーションでSpringBootWebSecurityConfigurationを拡張する
デフォルトでカスタム設定を行わないと、SpringBootWebSecurityConfiguration
がSpringブートの自動設定によって読み込まれます。
私がしたいのは、この自動設定を引き続き使用することですが、追加のHTTP設定を追加することです。私はこれを試みた:
@Configuration
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
Logger logger = LogManager.getLogger (SecurityConfiguration.class);
@Override
protected void configure (HttpSecurity http) throws Exception {
logger.info ("--- ALLOW all HTTP OPTIONS Requests");
http.authorizeRequests().antMatchers (HttpMethod.OPTIONS, "*//**").permitAll();
}
}
しかし、これは例外として動作しません。 SpringBootWebSecurityConfiguration
と上記のコードを使ってデバッグすると、configure
-methodとsprings auto-configurationの両方が実行されていますが、私のhttp
の設定が優先されるように見えます。
これは、自動設定がでのみ利用可能であることを意味します。種類の方法ですか?または、自動構成を使用できますか?それでもカスタムAntMatcherで拡張できますか?
このシナリオのベストプラクティスは何ですか?
は、あなたのSecurityConfigurationクラスは、同様の@ EnableWebSecurity' 'でアノテートされていないでしょうか? –