网上有很多文章说,开发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");