一般來說 權限 分細一點 有 功能權限和數據權限 ,功能權限 基本 就是通用 的 RBAC 我之前也講過 很簡單,數據權限能 就是 精確到數據 層面,下面我來簡單說一下。
數據權限 做的好點 可能 會精確到字段,比如 那個 公司 下面那個 部門 的那個 職位 可能看到的 列數據都不一樣,但是一般 也必須折磨細化,畢竟過於繁瑣,還不如直接開發 一個頁面 一個接口。
下面我講一下 通用的行數據 就是不同職位的人 看到的 行數據 不同,例如 區域銷售經理 可以看到 他下面 銷售的所有 訂單,而 銷售 只能看到 自己的訂單 看不到別人的。
- 思路其實 還是 很簡單的,其實還是 和角色 產生 關聯,角色分配完 功能權限 還可以 分配 數據權限,數據權限 其實就是 對應的sql 語句條件, 根據 登入的用戶 獲取 想要的 條件。
比如:這里設計的簡單 一點:公司——>銷售經理->銷售 查看訂單 列表
通用 實現 方案 就是 在 sevice 成 打一個 注解,通過 aop 動態 放射 賦值 一個 預留的 字段,當然也可以 繼承一個 base對象 預留 一個字段,然后aop 獲取參數 set 值 進去 動態sql 就 ojbk。是不是超級簡單。
看看效果:

超級 管理員 看到的數據

測試 用戶 分配 了數據權限的

