elasticsearch入門系列">elasticsearch入門系列
891
2022-05-30
前言
abp 把 用戶功能模塊獨立好處有以下兩點:
做微服務
項目復用
具體基于權限模塊的設計如下圖:
一、領域層
1.user表
用戶通常是登錄并使用應用程序的人。
IdentityUser
(aggregate root):表示系統中的用戶。
IdentityUserRole(集合):用戶的角色。
IdentityUserClaim(集合):用戶的自定義聲明(用戶擴展字段)。
IdentityUserLogin(集合):用戶的外部登錄。
IdentityUserToken(集合):用戶的令牌(由Microsoft Identity services使用)。
用戶表設計思想:
模仿:人去車站上車 人去動物園來動物 ..... 需要一張票據,這個票據就是用戶。 門票就是用戶 不同的場景,用戶的信息不一樣,門票也不一樣,為了適應不用的門票場景 所以:出現了用戶聲明,
2.role表
角色通常是分配給用戶的一組權限。
IdentityRole
(aggregate root): 表示系統中的一個角色。
IdentityRoleClaim (collection): 角色的自定義聲明(角色擴展字段)。
角色表設計思想:
動物園的角色信息,可能會有一些時間限制,顯示:管理員,最多只能人質3年。 所以:就使用roleclaims表
3.claimtypes表
ClaimTypes(聲明類型表):是可分配給系統中其他實體(如角色和用戶)的聲明字段繼承表。
IdentityClaimType(聚合根):表示字段類型定義。它包含一些屬性(例如Required、Regex、Description、ValueType)來定義聲明類型和驗證規則。
聲明類型表設計思想:
對于組織用戶而言,公司用戶都有相應的部門 所以:就有了用戶部分表 由于不同用戶可能屬于同一個部門,所以,就有了部門表
4.SecurityLog表
“SecurityLog”對象表示系統中與身份驗證相關的操作(如login)。
IdentitySecurityLog(聚合根):表示系統中的安全日志
5.organizationunits表
組織單元是層級結構中的實體。
OrganizationUnit
(aggregate root): 表示系統中的組織單元。
Roles (collection):組織單元的角色。
部門表設計思想:
公司部門,去公司里面處理什么,都是有權限控制的。 所以:就有了部分角色表
6.linkuser表
用戶關聯表設計思想:
比如A用戶登錄,B用戶就不需要登錄就可以
7.userstoken表
8.userclaims表
用戶聲明表設計思想:
在動物園,一張門票,只能訪問大象,不能看老虎。 所以:就是對動物園各個動物設置了權限 同理:用戶拿票訪問系統,也需要做一些權限限制。 所以:就出現了角色表
9.userroles表
用戶角色表設計思想:
由于不同用戶可能是相同的角色。所以就把用戶角色抽出來, 形成了獨立的角色表。為了能夠復用
10.roleclaims表
角色聲明表設計思想:
再進行思考一下,用戶也有聲明,角色也有聲明,用戶和角色可能會共享一些角色 所以:就有了claimtypes表
11.organizationunitroles表
部門角色表設計思想:
角色和用戶一樣都可以屬于某個組織
12.permissiongrants表
權限表設計思想:
控制界面的增刪改查
13.setting表
設置表設計說明:
配置一些系統信息
14.userorganizationunits表
用戶組織表設計思想:
用戶屬于哪個部門
15.tenants表
租戶表設計思想:
Tenant其實是各個服務中的一些可以訪問的資源集合。這些資源集合可供多個用戶使用,這也是為什么用戶默認的總是綁定到某些tenant上。也是配置多租戶的表,可以連接單個數據庫也可以連接多個數據庫
16.tenantconnectionstrings表
租戶連接字符串表設計思想:
ABP配置多數據庫多租戶的表
.NET 數據庫
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。