目前学习spring security已经完成了拦截,获取token,解析token,从数据库获取用户数据,根据表中的字段来鉴权这一块,通过自己的理解来记录一些方法和类的作用和遇到的错误的解决办法
1.数据库表的权限字段的值必须在前面加上ROLE(是不是必须我不知道,反正我没加的话就起不了作用)
比如添加了一个权限admin
.antMatchers("/article/**").hasRole("ADMIN")
那么权限字段的值就是
ROLE_ADMIN
2.UserDetails的作用:
userdetails来自包org.springframework.security.core.userdetails
是一个接口类,作用是spring帮你约束了用户实体的属性
里面没有set方法,所以赋不了值,主要的作用是(我认为):
里面封装了一个权限集合:Collection<? extends GrantedAuthority> getAuthorities()
userdetails类的属性赋值可以在默认构造器里面赋值
3.AuthorityUtils.commaSeparatedStringToAuthorityList(user.getAuthorities())方法的作用
user.getAuthorities()是一个权限描述字符串,user是映射数据库user表的实体,authorities就是权限字段
commaSeparatedStringToAuthorityList方法的代码如下:
public static List<GrantedAuthority>