數據權限功能使用說明
1. 功能概述
數據權限功能以授權方式划分可分為可授權權限和獨立業務授權權限兩種,可授權權限是指現在以責任為主的權限體系基礎上增加數據權限功能,同以前的授權方式一致;獨立業務授權權限是指以業務單元為主體,直接對某個業務單元設置權限;這兩種模式具體那種生效在系統底層有開關進行控制,下文會介紹。
從功能上划分主要實現了數據查看權限和數據修改權限兩種權限控制功能。數據查看權限主要實現在Web應用系統上配置業務模塊數據訪問權限,指定那些角色和個人可查看那些數據,主要包括:查看本人、本崗位、本部門、本組織、本群組、分類權限、子表權限、參與者權限等;數據修改權限是指在Web應用系統中可設置數據修改責任、具體修改人以及可修改業務單元中具體的頁面元素,主要包括:設置視圖組件、程序代碼控制、列權限、按鈕權限、菜單權限、鏈接業務按鈕、自定義按鈕等權限。
2. 功能控制開關說明
- 是否啟用獨立業務授權權限
/// <summary>
/// 是否啟用業務單元獨立權限
/// </summary>
public static bool IsBPOStandAlonePermission = false;
該屬性默認為關閉即默認是可授權權限生效,如果需要獨立授權權限生效需要在BPObject\OtherSource\Global.asax.cs 文件中開啟,參考代碼如下:
- 業務單元數據修改權限生效開關
在業務單元勾選“修改記錄權限生效”后,在Web應用程序上對該業務單元配置的修改權限才會起作用。
注意:使用修改記錄權限功能,需打開上文中的“獨立業務授權權限”開關和勾選業務單元“訪問權限為可配置”。
- 業務單元訪問控制權限生效開關
設置業務單元字段、按鈕、菜單等權限時必須勾選該選項。
3. 權限配置說明
可授權權限
- 在Web應用程序菜單“系統管理》權限管理》責任設置”中打開【功能訪問權限】
- 在訪問權限配置頁面可配置頁面權限
a) 業務的視圖組件
- 勾選配置視圖組件“是否可用”、“是否可視”
- 通過“按鈕權限”配置ToolBar上的按鈕權限
- 通過“列權限”配置視圖組件字段權限
- 通過“菜單權限”配置視圖組件自定義右鍵菜單權限
- 通過“鏈接按鈕”權限配置列表視圖組件列按鈕權限
鏈接按鈕權限控制需要通過視圖組件ToolBar虛按鈕來實現,“虛按鈕”本身不處理業務邏輯,只是同“鏈接按鈕”建立一種對應關系,系統底層通過這層關系實現對“鏈接按鈕”權限控制。
“虛按鈕”同“鏈接按鈕”的關系:
1、“虛按鈕”的ID為“鏈接按鈕”對應字段名稱加“$”符號加按鈕索引號,比如:比如:U_button$0、U_button$1
2、“虛按鈕”類型值為20.
- 通過“自定義按鈕”配置在頁面上自定義的按鈕權限
自定義按鈕權限控制需要通過視圖組件ToolBar虛按鈕來實現,“虛按鈕”本身不處理業務邏輯,只是同“自定義按鈕”建立一種對應關系,系統底層通過這層關系實現對“自定義按鈕”權限控制。
“虛按鈕”同“自定義按鈕”的關系:
1、“虛按鈕”的ID為“自定義按鈕”對應自定義按鈕的Id
2、“虛按鈕”類型值為21.
b) 業務控制碼許可
業務單元權限控制碼,開發者在開發時定義控制碼,在此可以啟用定義的控制碼。
c) 數據行權限配置
配置數據查看權限,定義可供用戶查看數據范圍。
權限主體:是指以那個角色對權限進行控制
權限范圍:是指在指定“權限主體”后顯示數據的范圍
控制字段:權限主體對應業務表中的字段
多值表名:“權限主體”選擇“我參與處理的數據”時使用。是指存儲參與人數據的數據表名。
多值字段:“權限主體”選擇“我參與處理的數據”時使用。是指存儲參與人數據的數據表中的人員鍵值字段名。
多值外鍵:“權限主體”選擇“我參與處理的數據”時使用。是指存儲參與人數據的數據表中同業務主表對應的外鍵字段名稱。
分類權限范圍:“權限主體”選擇為“分類權限時”在此指定具體可查看數據權限范圍,可指定:人員、崗位、部門、組織
權限主體、權限范圍、默認權限控制字段對照表:
權限主體 |
權限范圍 |
權限控制字段名稱 |
功能描述 |
☒本人 |
本人數據 |
SYS_CreatedBy |
loginUserInfo.UserOID |
☐本崗位 |
本崗位數據、下級數據、本崗位及下級數據、上級數據、本崗位及上級數據 |
SYS_POSTN |
當前登錄人主崗位、主崗位的所有下級崗位 |
☐本部門 |
本部門數據、下級部門數據、本部門及下級部門數據 |
SYS_DIVISION |
|
☐本組織 |
本組織數據、下級組織數據、本組織與下級組織數據 |
SYS_ORG |
|
☐本群組 |
本群組內成員的數據 |
手動配置 |
用戶從當前業務單元主業務組件中選擇 |
☒分類權限 |
指定人、指定崗位、指定部門、指定組織 |
SYS_CreatedBy、SYS_POSTN、SYS_DIVISION、SYS_ORG |
|
☐我參與數據 |
子表數據權限 |
DataAccessControlFieldName、DataAccessControlFieldName、DataAccessMTVFieldName |
|
獨立業務授權權限
在Web應用程序菜單“系統管理》權限管理》業務權限管理”即為獨立業務授權權限配置主頁面。列表顯示的是當前項目中業務單元列表,上面有三個按鈕分別是:獨立行權限、數據狀態權限、授權權限等,下文將詳細介紹。
- 獨立行權限
配置數據查看權限,定義可供用戶查看數據范圍。
權限主體:是指以那個角色對權限進行控制
權限范圍:是指在指定“權限主體”后顯示數據的范圍
控制字段:權限主體對應業務表中的字段
多值表名:“權限主體”選擇“我參與處理的數據”時使用。是指存儲參與人數據的數據表名。
多值字段:“權限主體”選擇“我參與處理的數據”時使用。是指存儲參與人數據的數據表中的人員鍵值字段名。
多值外鍵:“權限主體”選擇“我參與處理的數據”時使用。是指存儲參與人數據的數據表中同業務主表對應的外鍵字段名稱。
分類類型:“權限主體”選擇為“分類權限時”在此指定具體可查看數據權限范圍,可指定:人員、崗位、部門、組織
【配置】按鈕:點擊彈出對應的配置頁面,如下圖:
崗位對人員:
崗位對崗位:
崗位對部門:
崗位對組織:
權限主體、權限范圍、默認權限控制字段對照表:
權限主體 |
權限范圍 |
權限控制字段名稱 |
功能描述 |
☒本人 |
本人數據 |
SYS_CreatedBy |
loginUserInfo.UserOID |
☐本崗位 |
本崗位數據、下級數據、本崗位及下級數據、上級數據、本崗位及上級數據 |
SYS_POSTN |
當前登錄人主崗位、主崗位的所有下級崗位 |
☐本部門 |
本部門數據、下級部門數據、本部門及下級部門數據 |
SYS_DIVISION |
|
☐本組織 |
本組織數據、下級組織數據、本組織與下級組織數據 |
SYS_ORG |
|
☐本群組 |
本群組內成員的數據 |
手動配置 |
用戶從當前業務單元主業務組件中選擇 |
☒分類權限 |
指定人、指定崗位、指定部門、指定組織 |
SYS_CreatedBy、SYS_POSTN、SYS_DIVISION、SYS_ORG |
|
☐我參與數據 |
子表數據權限 |
DataAccessControlFieldName、DataAccessControlFieldName、DataAccessMTVFieldName |
|
- 數據狀態權限
對應UCML開發平台》業務單元》權限策略模型中控制類型為“參與人字段和狀態字段組合權限控制”
- 授權權限
在此設置數據修改權限,可選擇:只允許填報者本人修改、允許填報者本人修改、不允許填報者本人修改、允許以下人員修改等,他們之間的關系如下:
a) 若選擇“只允許填報者本人修改”,則其他三項均不可選擇
b) 若選擇“允許填報者本人修改”,則“只允許填報者本人修改”、“不允許填報者本人修改”不可選擇,可選擇“允許以下人員你修改”,表示本人和指定人可修改
c) 若選擇“不允許填報者本人修改”,則“只允許填報者本人修改”、“允許填報者本人修改”不可選擇,可選擇“允許以下人員修改”,表示指定人可修改
d) 若選擇“允許以下人員修改”,則“只允許填報者本人修改”不可選擇,可選擇“允許以下人員你修改”、“不允許填報者本人修改”,但不能同時選擇
如果選擇“允許一下人員修改”可指定職責和具體修改人,操作方式如下:
指定崗位責任:
指定人員:
點擊高級按鈕,可配置具體列權限、按鈕權限
頁面左側為指定可修改數據的責任,選擇責任可設置視圖組件、程序代碼控制、列權限、按鈕權限、菜單權限、鏈接業務按鈕、自定義按鈕等權限。
視圖組件可配置“是否可用”、“是否可視”
業務單元權限控制碼,開發者在開發時定義控制碼,在此可以啟用定義的控制碼。
通過“按鈕權限”配置ToolBar上的按鈕權限是否可用、是否可視。
通過“列權限”配置視圖組件字段的是否可用、是否可視。
通過“菜單權限”配置視圖組件自定義右鍵菜單的是否可用、是否可視。
通過“鏈接業務按鈕”權限配置列表視圖組件列按鈕權限
鏈接按鈕權限控制需要通過視圖組件ToolBar虛按鈕來實現,“虛按鈕”本身不處理業務邏輯,只是同“鏈接按鈕”建立一種對應關系,系統底層通過這層關系實現對“鏈接按鈕”權限控制。
“虛按鈕”同“鏈接按鈕”的關系:
1、“虛按鈕”的ID為“鏈接按鈕”對應字段名稱加“$”符號加按鈕索引號,比如:比如:U_button$0、U_button$1
2、“虛按鈕”類型值為20.
e) 通過“自定義按鈕”配置在頁面上自定義的按鈕權限
自定義按鈕權限控制需要通過視圖組件ToolBar虛按鈕來實現,“虛按鈕”本身不處理業務邏輯,只是同“自定義按鈕”建立一種對應關系,系統底層通過這層關系實現對“自定義按鈕”權限控制。
“虛按鈕”同“自定義按鈕”的關系:
1、“虛按鈕”的ID為“自定義按鈕”對應自定義按鈕的Id
2、“虛按鈕”類型值為21.