參考:https://www.sohu.com/a/340431910_695183 或 https://blog.csdn.net/qq_38931949/article/details/93485519
前導:權限 設計 目的
1、有的系統(如,后台管理系統),各個角色的使用場景是部分通用,部分隔離的,這時候就需要引入“權限系統”了
一、控制系統的賬號 及 登錄
1、賬號的 定義
基本上所有的互聯網產品,無論是移動端、PC端、C端或B端產品,登錄都需要一個賬號。
只是對於C端的產品,都是用戶自己注冊即可。
而對於后台產品而言,是需要公司內部人員去創建賬號的。而這個賬號就是一把鑰匙,
我們通過控制賬號所具備的權限,進而控制這個員工的所操作區域。
2、賬號 的 層級:企業(管理員)賬號、普通賬號。【管理員賬號,也叫超管。超管 可以 給 普通賬號 授權,使其有管理的權限】
公司的實際運營人,他應該掌握最核心、權限最大的企業帳號,所以也可以稱為“管理員帳號”俗稱admin賬號,其他都為普通帳號。
二、用戶與角色
1、用戶 與 角色 關系 有:多對一 的 用戶角色 關系、多對多的 用戶 角色 關系。
2、由於 公司 規模變大,角色 增多,試想如果用戶量上萬,新增一個角色時,可能需要為大量用戶都分配一遍新的角色,工程量仍然巨大,
此時即可以引入用戶組的概念:如果部分用戶的使用場景是相對一致和基礎的,我們可以把這些用戶打包成一個組,基於這個組的對象進行角色和權限的賦予。
三、控制功能權限:上面講了用戶和權限的概念,那么具體有哪些 概念 是需要 分權限的呢。
功能權限定義:為可見、可以操作的功能范圍。例如:某一部分目錄,或者某個頁面里的各種操作。
1、目錄管理模塊
類型分為 2 種:目錄、菜單。
2、操作按鈕
3、頁面訪問權限【即路由權限】:正常情況,沒有權限的用戶,沒有通過頁面的人口,頁面是進不去的。如果沒有設置頁面訪問權限,
用戶可以直接在瀏覽器上輸入 頁面地址 進入頁面。所以必須要設置頁面權限。