上文講了新設(shè)計(jì)的權(quán)限架構(gòu)的細(xì)節(jié),下面將與之相關(guān)的數(shù)據(jù)庫(kù)四個(gè)表的表結(jié)構(gòu)與字段定義列一下:
表一:rdApplications
1. 干嘛的
這個(gè)表存的是所有系統(tǒng)的字典。
2. 表結(jié)構(gòu)
| 字段名 | 類型 | 含義 |
|---|---|---|
| tln_sid | int(11) | 此條記錄的SID |
| tlnAppName | varchar(50) | 系統(tǒng)應(yīng)用的名稱 |
| tlnIsFrozen | tinyint(1) | 系統(tǒng)應(yīng)用是否被凍結(jié) |
| tlnLastModifiedTime | timestamp | 記錄最新更新時(shí)間 |
表二:rdPermissionDictionary
1. 干嘛的
這個(gè)表是用來存儲(chǔ)所有權(quán)限信息的字典。
2. 表結(jié)構(gòu)
| 字段名 | 類型 | 含義 |
|---|---|---|
| gpd_sid | int(11) | 此條記錄的SID |
| gpdAppId | int(11) | 系統(tǒng)字典表SID |
| gpdPermissionCode | varchar(50) | 權(quán)限代碼 |
| gpdPermissionName | varchar(50) | 權(quán)限名稱 |
| gpdFrontEndRoute | varchar(100) | 對(duì)應(yīng)的前端路由 |
| gpdBackEndRoute | varchar(100) | 對(duì)應(yīng)的后端路由 |
| gpdIsFrozen | tinyint(1) | 權(quán)限是否被凍結(jié) |
| gpdDisplayOrderRank | int(11) | 展示時(shí)可能的顯示順序 |
| gpdLastModifiedTime | timestamp | 當(dāng)前記錄最新更新時(shí)間 |
表三:rdRoleDictionary
1. 干嘛的
這個(gè)表是用來存儲(chǔ)所有角色信息的字典。
2. 表結(jié)構(gòu)
| 字段名 | 類型 | 含義 |
|---|---|---|
| ghr_sid | int(int) | 此條記錄的SID |
| ghrRoleName | varchar(100) | 角色名稱 |
| ghrHospitalAreaIdOfRole | int(11) | 角色所屬院區(qū) |
| ghrIsFrozen | tinyint(1) | 角色是否被凍結(jié) |
| ghrLastModifiedTime | timestamp | 當(dāng)前記錄最新更新時(shí)間 |
表四:rdRolePermissionMap
1. 干嘛的
這個(gè)表是用來存儲(chǔ)角色與其所包含權(quán)限的映射。
2. 表結(jié)構(gòu)
| 字段名 | 類型 | 含義 |
|---|---|---|
| grp_sid | int(11) | 此條記錄的SID |
| grpRoleId | int(11) | 角色表的角色SID |
| grpPermissionId | int(11) | 權(quán)限表的權(quán)限SID |
| grpLastModifiedTime | timestamp | 當(dāng)前記錄最新更新時(shí)間 |
表五:rdUserPermissionDataScope
1. 干嘛的
這個(gè)表是用來存儲(chǔ)用戶甲在權(quán)限A下的數(shù)據(jù)域。
2. 表結(jié)構(gòu)
| 字段名 | 類型 | 含義 |
|---|---|---|
| tnp_sid | int(11) | 此條記錄的SID |
| tnpUserId | int(11) | 用戶表的用戶SID |
| tnpPermissionId | int(11) | 權(quán)限表的權(quán)限SID |
| tnpDataScope | varchar(1000) | 數(shù)據(jù)域分級(jí)存儲(chǔ)*,存儲(chǔ)的時(shí)候就要求按照約定** 使用正則表達(dá)式去存儲(chǔ) |
| grpLastModifiedTime | timestamp | 當(dāng)前記錄最新更新時(shí)間 |
* 數(shù)據(jù)分級(jí)與實(shí)體代碼事先便定義好,分為[‘院區(qū)’, '大科室', '小科室', '醫(yī)療組(護(hù)理組)', '個(gè)人']五個(gè)等級(jí),其中院區(qū)為最高等級(jí),通俗意義上的醫(yī)院在系統(tǒng)中僅作為象征存儲(chǔ)相關(guān)信息,并不參與具體業(yè)務(wù)層面的邏輯。
** 具體編碼格式約定如下:/AABBCCDDEE/ 代表AA院區(qū)BB大科室CC小科室DD醫(yī)療組下的EE這個(gè)用戶,如果數(shù)據(jù)域中存儲(chǔ)的是上述代碼,那就擁有這個(gè)權(quán)限的EE用戶的數(shù)據(jù)域;如果登錄用戶權(quán)限比較大,那他可能擁有整的DD醫(yī)療組的在這個(gè)權(quán)限下的數(shù)據(jù)域,此時(shí)數(shù)據(jù)域代碼應(yīng)該這么寫 /^AABBCCDD[0-9]{2}/。注:初老師說全部用數(shù)字做 CODE,規(guī)則定為:院區(qū)3位、大科室2位、小科室2位、醫(yī)療組(護(hù)理組)2位、個(gè)人3位。