文章目录

1. JavaEE和SpringMVC
Spring Security就是通过11个Fliter进行组合管理
2. 简化版社区
只保留登录相关代码
2. 配置Spring Security
2.1 pom.xml引入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
导入之后默认生成一个账号密码还有登录页,管理立即生效
2.2 user实体类
user.type字段,0普通用户,1超级管理员,2版主
补全get set tostring
- 实现接口
UserDetails
,重写以下方法
// true: 账号未过期.
@Override
public boolean isAccountNonExpired() {
return true;
}
// true: 账号未锁定.
@Override
public boolean isAccountNonLocked() {
return true;
}
// true: 凭证未过期.
@Override
public boolean isCredentialsNonExpired() {
return true;
}
// true: 账号可用.
@Override
public boolean isEnabled() {
return true;
}
//获取当前用户权限列表
@Override
public Collection<? extends GrantedAuthority> getAuthorities() {
List<GrantedAuthority> list = new ArrayList<>();
list.add(new GrantedAuthority() {
@Override
public String getAuthority() {
switch (type) {
case 1:
return "ADMIN";
default:
return "USER";
}
}
});
return list;
}
2.3 UserService
实现接口UserDetailsService
- 重写方法
loadUserByUsername