一、@PreAuthorize
@PreAuthorize 权限注解分析
参考URL: https://segmentfault.com/a/1190000023893122
Spring-Security@PreAuthorize(“hasAuthority(’’)”)源码分析
参考URL: https://blog.youkuaiyun.com/guoke2017/article/details/94439661
@PreAuthorize(“hasAuthority(‘xxx’)”)用来鉴别当前登录用户所拥有的角色是否有xxx权限访问该接口。
@PreAuthorize 注解,顾名思义是进入方法前的权限验证,@PreAuthorize 声明这个方法所需要的权限表达式,例如:@PreAuthorize(“hasAuthority(‘sys:dept:delete’)”),根据这个注解所需要的权限,再和当前登录的用户角色所拥有的权限对比,如果用户的角色权限集Set中有这个权限,则放行;没有,拒绝。
查看该注解源码,根据描述,进入方法前判断el表达式。
el表达式返回true通过,返回false 拒绝访问403。