目的
某用户登录以后,判断他属于哪个部门,只能查看该部门的信息。
前提
已经通过ldap建立好了相关用户信息。如图:
建表
-
新建用户信息表,建立用户和部门的联系。表结构和测试数据如下:
-
新建测试表income,表结构和测试数据如下:
FM中进行数据权限操作
在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)#是使用宏函数获取登录的用户信息
思路是,通过登录的用户信息,查找该用户的部门信息,再通过部门对income表的内容进行过滤。实现只有该部门的员工才能能查看该部门的信息。
如图:
完了进行验证,要保证不报错。然后进行数据包的发布。
测试
以yl1用户的用户登录,新建reportstudio报表测试结果如下: