目的
某用戶登錄以后,判斷他屬于哪個(gè)部門,只能查看該部門的信息。
前提
已經(jīng)通過(guò)ldap建立好了相關(guān)用戶信息。如圖:
建表
-
新建用戶信息表,建立用戶和部門的聯(lián)系。表結(jié)構(gòu)和測(cè)試數(shù)據(jù)如下:
-
新建測(cè)試表income,表結(jié)構(gòu)和測(cè)試數(shù)據(jù)如下:
FM中進(jìn)行數(shù)據(jù)權(quán)限操作
在fm的income表中寫如下sql:
select * from [74].income where income.department =
(
select department.department from [74].department
where
department."user"=#sq($account.personalInfo.userName)#
)
其中,#sq($account.personalInfo.userName)#是使用宏函數(shù)獲取登錄的用戶信息
思路是,通過(guò)登錄的用戶信息,查找該用戶的部門信息,再通過(guò)部門對(duì)income表的內(nèi)容進(jìn)行過(guò)濾。實(shí)現(xiàn)只有該部門的員工才能能查看該部門的信息。
如圖:
完了進(jìn)行驗(yàn)證,要保證不報(bào)錯(cuò)。然后進(jìn)行數(shù)據(jù)包的發(fā)布。
測(cè)試
以yl1用戶的用戶登錄,新建reportstudio報(bào)表測(cè)試結(jié)果如下: