アノテーションインターフェース EnableWebSecurity
@RetentionSE(RUNTIMESE)
@TargetSE(TYPESE)
@DocumentedSE
@Import({WebSecurityConfiguration.class,org.springframework.security.config.annotation.web.configuration.SpringWebMvcImportSelector.class,org.springframework.security.config.annotation.web.configuration.OAuth2ImportSelector.class,org.springframework.security.config.annotation.web.configuration.HttpSecurityConfiguration.class,org.springframework.security.config.annotation.web.configuration.ObservationImportSelector.class})
@EnableGlobalAuthentication
public @interface EnableWebSecurity
このアノテーションを
@Configuration
クラスに追加して、Spring Security 構成を任意の WebSecurityConfigurer
で定義するか、SecurityFilterChain
Bean を公開する可能性が高くなります。@Configuration @EnableWebSecurity public class MyWebSecurityConfiguration { @Bean public WebSecurityCustomizer webSecurityCustomizer() { return (web) -> web.ignoring() // Spring Security should completely ignore URLs starting with /resources/ .requestMatchers("/resources/**"); } @Bean public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { http.authorizeHttpRequests().requestMatchers("/public/**").permitAll().anyRequest() .hasRole("USER").and() // Possibly more configuration ... .formLogin() // enable form based log in // set permitAll for all URLs associated with Form Login .permitAll(); return http.build(); } @Bean public UserDetailsService userDetailsService() { UserDetails user = User.withDefaultPasswordEncoder() .username("user") .password("password") .roles("USER") .build(); UserDetails admin = User.withDefaultPasswordEncoder() .username("admin") .password("password") .roles("ADMIN", "USER") .build(); return new InMemoryUserDetailsManager(user, admin); } // Possibly more bean methods ... }
- 導入:
- 3.2
- 関連事項:
オプション要素の概要
オプション要素
要素の詳細
debug
boolean debugSpring Security のデバッグサポートを制御します。デフォルトは false です。- 戻り値:
- true の場合、Spring Security でデバッグサポートを有効にします
- デフォルト:
- false