sa-token 之許可權驗證
阿新 • • 發佈:2021-01-18
# 許可權驗證
### 核心思想
所謂許可權驗證,驗證的核心就是當前賬號是否擁有一個許可權碼
有:就讓你通過、沒有:那麼禁止訪問
再往底了說,就是每個賬號都會擁有一個許可權碼集合,我來驗證這個集合中是否包括我需要檢測的那個許可權碼
例如:當前賬號擁有許可權碼集合:["user:add", "user:delete", "user:get"],這時候我去驗證許可權碼:"user:update",則結果就是驗證失敗,禁止訪問
所以現在問題的核心就是:
1. 如何獲取一個賬號所擁有的的許可權碼集合
2. 本次操作要驗證的許可權碼是哪個
### 獲取當前賬號許可權碼集合
因為每個專案的需求不同,其許可權設計也千變萬化,【獲取當前賬號許可權碼集合】這一操作不可能內建到框架中, 所以sa-token將此操作以介面的方式暴露給你,以方便的你根據自己的業務邏輯進行重寫
- 你需要做的就是新建一個類,重寫StpInterface介面,例如以下程式碼:
```java
package com.pj.satoken;
import java.util.ArrayList;
import java.util.List;
import org.springframework.stereotype.Component;
import cn.dev33.satoken.stp.StpInterface;
/**
* 自定義許可權驗證介面擴充套件
*/
@Component // 保證此類被springboot掃描,完成sa-token的自定義許可權驗證擴充套件
public class StpInterfaceImpl implements StpInterface {
/**
* 返回一個賬號所擁有的許可權碼集合
*/
@Override
pub