業務系統資料許可權控制(可生產環境用)

2021-10-03 01:49:00 字數 2564 閱讀 4377

公司

許可權如何控制(通過員工管理功能演示許可權控制):

組織架構如下: 賬號:13700000001關聯 員工張三,員工張三和李四在人事部門下面,人事部下有個財務組,王五在財務組下,老闆在上海總部下

上海總部

人事部

財務組

王五(工號:0005,賬號:13700000003,部門管理:管理員,職位:員工)

張三 (工號:0002,賬號:13700000001,部門管理:管理員,職位:員工)

李四 (工號:0003,賬號:13700000002,部門管理:成員,職位:總經理)

技術部

銷售部

老闆 (工號:0001,賬號:13700000000,部門管理:管理員,職位:老闆)

資料許可權只跟部門管理有關係,跟職位沒關係。 職位是總經理,但在部門是普通成員,如李四,在資料許可權上也只能看自己的資料。

組織表:sys_orgid

org_name

org_code

oauth_code

parent_id

1上海總部

shzb1-2

人事部rsb

1-2-13

技術部jsb

1-3-14

銷售部xsb

1-4-15

財務組cwz

1-2-5-

2oauth_code :許可權控制字段,構成格式 oauth_code = 父oauth_code + id(當前行的自增長列)

員工表:sys_employeeid

name

***mobilephone

org_manage

position

org_id

oauth_code1老闆

男13700000001老闆

11-@12張三

男13700000011員工

21-2-@23李四

男1370000002

0總經理

21-2-@34王五

男13700000040員工

51-2-5-@4

org_manage: 部門管理,1代表是,0代表不是

oauth_code: 許可權字段,oauth_code = 對應部門的oauth_code + @ + 員工id(當前行的自增長列) ,@ 是為了好區分,後面是員工id ,

查詢說明:

以老闆登入(賬號:13700000000)進來,資料許可權控制:

通過老闆的賬號獲取所在組織許可權 oauth_code 是 1- ,由於老闆是管理員,他的查詢條件就是 like 『1-%』 , 通過如下可以查出上面的4個員工

select

*from sys_employee where oauth_code like

'1-%'

1老闆

男13700000001老闆

11-@12張三

男13700000011員工

21-2-@23李四

男1370000002

0總經理

21-2-@34王五

男 13700000040員工

51-2-5-@4

以張三登入(賬號:13700000001)進來,資料許可權控制:

通過張三的賬號獲取所在組織許可權 oauth_code 是 1-2- ,由於張三是管理員,他的查詢條件就是 like 『1-%』 , 通過如下可以查出上面的2個員工

select

*from sys_employee where oauth_code like

'1-2-%'

2張三

男13700000011員工

21-2-@23李四

男1370000002

0總經理

21-2-@3

以李四登入(賬號:13700000002)進來,資料許可權控制:

通過李四的賬號獲取所在組織許可權 ,都是在人事部, 所以 oauth_code 也是 1-2- ,由於李四是普通成員,他的查詢條件就是

like 『1-2-@3%』 ,注意:這個時候就要加 @3 ,3 是李四的主鍵id, 通過如下只能查到自己的

select

*from sys_employee where oauth_code like

'1-2-@3%'

3李四

男1370000002

0總經理

21-2-@3

如果員工在多部門可以如下構建

select

*from sys_employee where oauth_code like

'1-2-%'

or oauth_code like

'1-3-%'

如何在應用系統中實現資料許可權的控制功能

在很多應用行業裡面,都對資料的許可權做了特別的宣告,如對於銷售,財務的資料,它們是非常敏感的,因此要求對資料許可權進行控制,對於基於集團性的應用系統而言,就更多需要控制好各自公司的資料了。如預設只能看本公司 或者本部門的資料,對於特殊的領導,可能需要跨部門的資料,因此不能硬編碼那個領導該訪問哪些資料...

如何在應用系統中實現資料許可權的控制功能

在很多應用行業裡面,都對資料的許可權做了特別的宣告,如對於銷售,財務的資料,它們是非常敏感的,因此要求對資料許可權進行控制,對於基於集團性的應用系統而言,就更多需要控制好各自公司的資料了。如預設只能看本公司 或者本部門的資料,對於特殊的領導,可能需要跨部門的資料,因此不能硬編碼那個領導該訪問哪些資料...

如何在應用系統中實現資料許可權的控制功能 2

為了實現資料許可權的控制,我們需要在通用的許可權系統裡面儲存好對應角色具有哪些組織機構的資料許可權,然後在應用系統中呼叫api進行過濾資料處理即可。為了實現以上的功能需求,我們需要在許可權系統裡面,角色控制 增加乙個資料許可權的資料儲存。實際的應用系統,當使用者登陸成功後,我們獲取並記錄好其可以管理...