1> 問題提出前端
爲實現表格數據的橫向和縱向受權,如圖表格:安全
|
標題1spa |
標題2ci |
標題3資源 |
標題4開發 |
標題5table |
標題6後臺 |
行1基礎 |
|
|
|
|
|
|
行2軟件 |
|
|
|
|
|
|
行3 |
|
|
|
|
|
|
行4 |
|
|
|
|
|
|
橫向:有行1至行4四行數據。
縱向:有標題1至標題6 列數據。
在業務系統中,爲了數據的安全或對不一樣用戶採用相關數據查看權限,
如
張三隻能查看行1,行2的數據,而且只能查看標題3,標題4,標題5這三列數據,如何實現???
王五隻能查看行1,行2的數據,能夠看到全部列數據如何實現???
趙六能夠查看全部行數據,但只能查看列標題1,標題2 的數據如何實現???
2> 方案描述
(1) 橫向維度,即不一樣用戶能夠查看那些行的數據。
a> 通常的管理系統都有組織機構或用戶組相關基礎數據,業務數據與基礎數據有關聯,可經過基礎數據做爲條件來獲取當前用戶的橫向數據。通常業務系統表現爲,當前用戶只能查看本身本部門或組織的相關數據。
b>無組織機構或用戶組時,定義一張數據範圍表,用來存儲用戶主鍵與業務數據主鍵和業務數據類型,先設置用戶數據範圍,在用戶查詢業務數據時,把數據範圍表的相關設置做爲查詢條件便可實現。
(2) 縱向維度, 即不一樣用戶能夠查看哪些列的數據。
相比橫向維度而言,縱向維度的實現複雜度較大(由於後臺結果集形式多樣,且與業務的關聯性較強)。實現數據的過濾不宜過多佔用系統資源,採用前端界面列隱藏的方式來處理。首先定義某界面受權顯示的列,針對不一樣的用戶或角色,實現界面顯示列的受權。根據用戶權限將業務結果集展示在界面上,同時根據界面列受權信息將無權限查看的列自動隱藏。
易智軟件,專一跨平臺系統開發 www.yizhisoft.cn