愚公系列2022年03月 .NET架構班 012-ABP vNext 權限租戶系統的數據庫設計

      網友投稿 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表

      【愚公系列】2022年03月 .NET架構班 012-ABP vNext 權限租戶系統的數據庫設計

      “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小時內刪除侵權內容。

      上一篇:【計算機網絡】網絡安全 : 實體鑒別 ( 實體鑒別過程 | 不重數機制 | 公鑰體質加密不重數 | 中間人攻擊 )
      下一篇:Redis學習9:Jedis學習
      相關文章
      亚洲人成无码网站| 亚洲国产区男人本色| 日韩欧美亚洲中文乱码| 亚洲女人初试黑人巨高清| 亚洲国产一区二区三区青草影视 | 久久夜色精品国产亚洲av| 亚洲成A∨人片天堂网无码| 日韩亚洲翔田千里在线| 欧美激情综合亚洲一二区| 亚洲国产欧洲综合997久久| 亚洲AV永久无码精品网站在线观看| 亚洲国产成人综合精品| 亚洲日韩看片无码电影| 亚洲最大无码中文字幕| 亚洲欧美国产国产一区二区三区 | 亚洲精品美女久久7777777| 亚洲精品无码久久久久牙蜜区| 亚洲熟女综合色一区二区三区 | 亚洲精品字幕在线观看| 亚洲精品无码不卡在线播HE| 亚洲精品白浆高清久久久久久| 久久被窝电影亚洲爽爽爽| 亚洲AV无码成人网站久久精品大 | 男人的天堂亚洲一区二区三区 | 久久夜色精品国产噜噜噜亚洲AV | www.亚洲色图| 亚洲人成无码www久久久| 国产精品亚洲美女久久久 | 亚洲精品一二三区| 亚洲日韩国产欧美一区二区三区| 亚洲老熟女五十路老熟女bbw| 亚洲AV无码之国产精品| 亚洲A丁香五香天堂网 | 国产日产亚洲系列最新| 亚洲精品成人片在线观看精品字幕| 久久噜噜噜久久亚洲va久| 亚洲欧洲日产国码www| 亚洲午夜精品久久久久久app | 亚洲电影中文字幕| 亚洲日本香蕉视频| 亚洲色偷偷综合亚洲AV伊人蜜桃|