springboot+springsecurity+mybatis plus注解实现对方法的权限处理
生活随笔
收集整理的這篇文章主要介紹了
springboot+springsecurity+mybatis plus注解实现对方法的权限处理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 接上文
- [springboot+springsecurity+mybatis plus之用戶授權](https://blog.csdn.net/Kevinnsm/article/details/114738474?spm=1001.2014.3001.5501)
- 一、@Secured
- 二、@PreAuthority
- 三、@PostAuthorize
接上文
springboot+springsecurity+mybatis plus之用戶授權
一、@Secured
需要在類上開啟該注解 @EnableGlobalMethodSecurity(securedEnabled = true)
@RestController @RequestMapping("/test") @EnableGlobalMethodSecurity(securedEnabled = true, prePostEnabled = true) public class SecurityController {@GetMapping("/add")@Secured({"ROLE_user","ROLE_admin"})public String add() {return "add merchandise";} }
該角色沒有ROLE_user或者ROLE_admin權限,所以無法訪問該方法
二、@PreAuthority
實現該注解需要在類上加入
@EnableGlobalMethodSecurity( prePostEnabled = true)
@RestController @RequestMapping("/test") @EnableGlobalMethodSecurity( prePostEnabled = true) public class SecurityController {@GetMapping("/add")@PreAuthorize("hasAuthority('admin')")public String add() {return "add";}}
由于有該admin權限,所以可以猜到結果為add
三、@PostAuthorize
同樣需要在類上加入
@EnableGlobalMethodSecurity(prePostEnabled = true)
這個注解會在方法執行之后進行權限判斷
@RestController @RequestMapping("/test") @EnableGlobalMethodSecurity(prePostEnabled = true) public class SecurityController {@GetMapping("/update")@PostAuthorize("hasAnyAuthority('user')")public String update() {System.out.println("update方法已經執行!");return "update";} }總結
以上是生活随笔為你收集整理的springboot+springsecurity+mybatis plus注解实现对方法的权限处理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: springboot+springsec
- 下一篇: springboot集成spring s