spring secuity需要添加@EnableWebSecurity吗

网上有很多文章说,开发spring security程序必须添加@EnableWebSecurity这个注解,否则不生效
但是也看到很多用springboot的并未明确写要开启这个配置,因此有点疑惑
其实说法都是正确的,

  • 如果未加start,的确要开启这个注解
  • 如果添加了start,那么就不需要了,以 spring-boot-start-security为例,在SecurityAutoConfiguration这个类中,看到导入SpringBootWebSecurityConfiguration这个类
    再次查看这个类,发现它带有@EnableWebSecurity注解,并且自动配置了需要忽略胡静态文件资源
@Configuration
@EnableConfigurationProperties
@ConditionalOnClass({ EnableWebSecurity.class, AuthenticationEntryPoint.class })
@ConditionalOnMissingBean(WebSecurityConfiguration.class)
@ConditionalOnWebApplication
@EnableWebSecurity
public class SpringBootWebSecurityConfiguration {

	private static List<String> DEFAULT_IGNORED = Arrays.asList("/css/**", "/js/**",
			"/images/**", "/webjars/**", "/**/favicon.ico");

你可能感兴趣的:(security)