一、用户状态
- private final boolean accountNonExpire
- private final boolean accountNonLocked
- private final boolean credentialsNonExpired
- private final boolean enabled
只有四个状态都是false,用户才能正常登录。
二、加密
BCryptPasswordEncoder加密,采用加盐方式,每次加密都不一样,但是根据盐值可以匹配到原值。
三、扩展功能
- 记录我功能
登录页面提供了记录我功能,此功能只需要往登录时提交一个remember-me的参数,值可以时on,yes,1,true等。 - 拦截策略
antMatchers()方法设置路径匹配,可以用两个星号代替多层路径,一个星号代替一个或多个字符,问号代表一个字符名。
permitAll()放行所有
四、csrf
全称Cross-Site Request Forgery网站点请求伪造。这是一种安全攻击手段,简单来说,就是黑客可利用存在客户端的信息来伪造或正常客户,进行攻击。
五、注解配置权限
@GetMapping("/query")
@PreAuthorize("mobile")
public String query(){
return "mobile";
}
启动类
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled=true) //注解配置功能开启
@SpringBootApplication
.......