14.6 リクエストの認可
リクエストの認可のコンフィグレーションじゃ、SecurityFilterChainのBean定義で行います。
▼ソース14.2 リクエストの認可のコンフィグレーション
@Configuration @EnableWebSecurity public class SecurityConfig { @Bean public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { ❶ http .authorizeHttpRequests() .requestMatchers(HttpMethod.POST, "/admin/**").hasRole("ADMIN") ❷ .requestMatchers("/admin/**").hasAnyRole("ADMIN", "STAFF") ❸ .anyRequest().permitAll(); ❹ return http.build(); } }
❶の行で@Beanメソッドを追加しています。戻り値の型は、Bean定義したいSecurityFilterChainです。引数で受け取っているのは、SecurityFilterChainオブジェクトを生成してくれるHttpSecurityオブジェクトです。HttpSecurityオブジェクトは、自動的にDIコンテナに登録されるため、@Beanメソッドの引数で受け取ることができます。