@EnableWebSecurity注解 的作用(与本节课程内容无关)

来源:4-7 图片验证码

desertTown

2019-10-22

请问老师为什么这门课不需要这个注解 @EnableWebSecurity注解,
网上大部分Security教程都是通过@EnableWebSecurity注解去开启Spring Security的功能,
可以介绍下这个注解是怎么用的吗?

写回答

2回答

Hale_Don_Lee

2021-09-21

网上有很多文章说,开发spring security程序必须添加@EnableWebSecurity这个注解,否则不生效

但是也看到很多用springboot的并未明确写要开启这个配置,因此有点疑惑

其实说法都是正确的,

如果未加start,的确要开启这个注解

如果添加了start,那么就不需要了,以 spring-boot-start-security为例,在SecurityAutoConfiguration这个类中,看到导入SpringBootWebSecurityConfiguration这个类

再次查看这个类,发现它带有@EnableWebSecurity注解,并且自动配置了需要忽略静态文件资源

@Configuration
@EnableConfigurationProperties
@ConditionalOnClass({ EnableWebSecurity.class, AuthenticationEntryPoint.class })
@ConditionalOnMissingBean(WebSecurityConfiguration.class)
@ConditionalOnWebApplication
@EnableWebSecuritypublic 
class SpringBootWebSecurityConfiguration {
	private static List<String> DEFAULT_IGNORED = Arrays.asList("/css/**", "/js/**"
	,"/images/**", "/webjars/**", "/**/favicon.ico");
}

所以到底要不要加这个注解,取决于你添加的依赖。

1
0

JoJo

2019-10-28

使用 @EnableWebSecurity 注解 和 实现 WebSecurityConfigurer 接口的效果是一样的。

0
0

Spring Security技术栈开发企业级认证与授权

Spring Security技术栈,REST风格开发常见接口,独立开发认证授权模块保证REST服务安全

2662 学习 · 1561 问题

查看课程