序言
这一篇说一下比较好用的Spring Security注解。
代码请参考 https://github.com/AutismSuperman/springsecurity-example
使用
Spring Security默认是禁用注解的,要想开启注解,要在继承WebSecurityConfigurerAdapter
的类加@EnableMethodSecurity
注解,并在该类中将AuthenticationManager
定义为Bean。
@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true,securedEnabled=true,jsr250Enabled=true)
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Bean
@Override
public AuthenticationManager authenticationManagerBean() throws Exception {
return super.authenticationManagerBean();
}
}
我们看到@EnableGlobalMethodSecurity
分别有prePostEnabled
、securedEnabled
、jsr250Enabled
三个字段,其中每个字段代码一种注解支持,默认为false,true为开启。那么我们就一一来说一下这三总注解支持。
JSR-250注解
主要注解
- @DenyAll
- @RolesAllowed
- @PermitAll
这里面@DenyAll
和 @PermitAll
相信就不用多说了 代表拒绝和通过。
@RolesAllowed
使用示例
@RolesAllowed({
"USER", "ADMIN"