大家心心念念的許可權管理功能,這次安排上了!

  • 2020 年 2 月 26 日
  • 筆記

mall項目的許可權管理功能發布啦!許可權管理作為後台管理系統的必要功能,mall項目之前的許可權管理並不完善。最近我對原先的許可權管理進行了重新設計,打造了一套切實可用的許可權管理功能。

功能清單

  • 菜單管理:可以實現對後台管理系統左側菜單的管理,支援更換圖標、更換名稱、控制菜單顯示和排序;
  • 資源管理:實現了基於訪問路徑的後台動態許可權控制,控制的許可權可以精確到介面級別;
  • 角色管理:可以自定義角色,並為角色分配菜單和資源;
  • 後台用戶管理:可以對後台用戶進行管理並分配角色,支援分配多個角色。

功能介紹

接下了我們對許可權管理功能做個介紹,演示一個完整的許可權管理的流程。

菜單管理

菜單主要是指管理後台左側的菜單,管理功能可用於控制其隱藏顯示及更換圖片名稱和排序,目前僅支援二級菜單。

  • 查看菜單列表,可以控制隱藏顯示及刪除;
  • 添加及編輯菜單,可以更改菜單的基本屬性,不過只能添加前端項目路由中定義的菜單,並且前端名稱要與前端項目中定義的路由名稱一致;
  • 菜單排序,給菜單設置排序後,菜單將按照設置的排序降序進行顯示。

資源管理

所謂資源就是後台的介面,可以是單個介面,也可以是一系列介面的集合。這裡我們使用了基於Ant的路徑匹配,當後台用戶訪問某個介面時,如果這個後台用戶分配了該資源就可以訪問,否則無法訪問。默認情況下,如果你沒有對某個介面配置資源,則該資源直接允許訪問。

  • 查看資源列表,目前的資源是按控制器級別配置的,即一個控制器中所有的介面定義為一個資源,也可以配置到介面級別;
  • 添加及編輯資源,這裡我們添加了一個資源分類的概念,便於以後的資源分配;

角色管理

用於對後台用戶角色進行管理,我們可以給角色分配指定的菜單和資源,這樣被分配了角色的後台用戶就可以訪問這些菜單和資源了。

  • 查看角色列表,這裡我們需要注意下這三個角色商品管理員訂單管理員超級管理員
  • 添加及編輯角色用於管理角色的基本屬性;
  • 分配菜單,可以給角色分配允許訪問的菜單;
  • 分配資源,可以給角色分配允許訪問的後台資源;

後台用戶管理

用於對後台用戶進行管理,直接修改資訊(包括修改密碼)及分配角色。

  • 查看用戶列表,可以控制帳號的啟用狀態及刪除帳號;
  • 添加及編輯用戶,可以管理用戶的基本資訊及修改密碼;
  • 分配角色,可以為用戶分配角色,指定角色用戶可以訪問指定菜單和資源。

動態菜單控制

這裡我們來演示下動態菜單的控制,我們有兩個後台用戶,系統管理員和商品管理員,系統管理員分配了所有菜單,商品管理員只分配了商品相關的菜單。

  • 使用系統管理員帳號登錄,左側顯示了所有菜單:
  • 使用商品管理員帳號登錄,左側僅顯示商品相關菜單:

動態資源控制

這裡我們來演示下動態資源的控制,我們給商品管理員只分配了商品相關的資源,他無法訪問其他資源。

  • 將訂單相關菜單開放給商品管理員,但是並沒有給他分配訂單相關的資源;
  • 由於沒有給商品管理員分配訂單模組相關後台資源,所以當商品管理員訪問訂單模組時會提示沒有相關許可權。

項目源碼地址

友情提醒,需要導入項目中document文件夾下最新的sql文件,再下載最新的前後端程式碼才能體驗該功能!

  • 後端項目:https://github.com/macrozheng/mall
  • 前端項目:https://github.com/macrozheng/mall-admin-web