權限管理系統之數據庫設計【系列篇】

前言

病幾時朝日邊,
方每續朱櫻獻。
氣衝頭鬢莖少,
多唯欲哭殘春。
牛織女渡河橋,
搖浮蟻香濃甚。
今已到九仙家,
在琴書自憶家。

今天是2020.02.02 (愛你愛你) 也是中國新年大年初九。中國人民正在經受新型冠狀病毒肺炎的折磨。每天看着不斷上升的確診病例和死亡病例。肺炎相關的時事新聞、廣播、電臺不斷涌入。彷彿全國上下陷入深深的惶恐不安之中

 

 雖然2020年的開頭不順,諸事擾心。但是我們依然要保持對美好生活的嚮往與追求。希望肺炎疫情能儘快遏制住。禽流感不要四處蔓延,我們老百姓能安居樂業,健健康康~

開篇

早在一個月前就有這個想法,從0到1開發一個權限管理系統。那麼問題來了?怎麼做呢? 參考哇,模仿哇,抄襲哇,學習哇。

 

1.瞭解RBAC是個什麼玩意兒

2.技術選型(前端UI、數據庫選擇、後端架構搭建)

那麼,話不多說,開整。

其中前端頁面採用了H+,登錄頁抄襲了feiyitERP開源項目的登錄頁。後端採用了.NET Core 2.2,ORM使用自封裝的Dapper。數據庫使用Mysql

演示地址

http://role.fuyue.xyz

整個系統大概看起來是這樣:

在系統講解菜單中專門針對此係統有一個錄屏視頻講解。

 

RBAC

在這裏簡單介紹一下RBAC吧,更多內容可以自己搜索一下相關資料。

RBAC(Role-Based Access Control )基於角色的訪問控制。

RBAC 認爲權限的過程可以抽象概括爲:

判斷【Who 是否可以對 What 進行 How 的訪問操作(Operator)】

  • Who:權限的擁用者或主體
  • What:權限針對的對象或資源
  • How:具體的權限
  • Operator:操作。表明對 What 的 How 操作。也就是 Privilege+Resource
  • Role:角色,一定數量的權限的集合。權限分配的單位與載體,目的是隔離User與Privilege的邏輯關係

 

 

可以看上圖簡單理解一下

數據庫設計

按照我的設想,不希望一開始就把系統設計的很複雜(其實是能力有限,思考深度不夠)。於是 就想着簡單實現菜單、角色、角色權限、用戶、組織機構這幾塊內容。最開始的數據庫設計看起來是這個樣子。

 

 

權限的主要涉及的表就是這7張表。

今天先寫到這裏吧,該運動了,加強身體抵抗力。

文末彩蛋

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章