权限校验方法源码解析
@GetMapping("/hello")
//传一个参数
// @PreAuthorize("hasAuthority('system:dept:list')")
//传多个参数
// @PreAuthorize("hasAnyAuthority('system:dept:list,system:test:list')")
// 传一个参数,需要拼接前缀
// @PreAuthorize("hasRole('system:dept:list')")
@PreAuthorize("hasRole('system:dept:list,system:test:list')")
//传多个参数,需要拼接前缀
public String hello(){
return "hello";
}
hasAuthority源码
//1.hasAuthority传一个权限
public final boolean hasAuthority(String authority) {
return this.hasAnyAuthority(authority);
}
//2. hasAnyAuthority传多个权限
public final boolean hasAnyAuthority(String... authorities) {
return hasAnyAuthorityName(null, authorities);
}
//3.核心代码 hasAnyAuthorityName
private boolean hasAnyAuthorityName(String prefix,