004 SpringSecurity验证规则

SpringSecurity验证规则

  1. SpringSecurity框架登录后,==在userDetails对象中,一定会有一个权限列表 ==
  2. 登录用户对象的值可能是:
{"authorities":["ROLE_user"],"id":1,"userType":"USER","username":"jackson"}

  1. 前后台登录时
  • sso模块前台用户登录时, 会authorities属性中添加ROLE_user权限
  • 后台管理用户登录时, 会向authorities属性中添加下面属性
["/pms/product/read","/pms/product/update","/pms/product/delete"]

4.所以想要在控制器运行前判断权限时就可以使用下面的写法

@PreAuthorize注解hasAuthority和hasRole的区别

以下四种注解效果等同:

  • 通用指令
@PreAuthorize("hasAuthority('/pms/product/read')")
@PreAuthorize("hasAuthority('ROLE_user')")
  • 可以说专用于判断当前用户角色的指令
@PreAuthorize("hasRole('ROLE_user')")
@PreAuthorize("hasRole('user')")
- hasRole判断是专用于判断当前用户角色的指令
- hasRole会自动在我们判断的内容前添加ROLE_
posted @ 2022-07-16 12:19  Y_Zoran  阅读(69)  评论(0)    收藏  举报
-->