如何实现细粒度的填报表单权限控制——控制到每个单元格是否可写

润乾报表对于填报表单的权限提供两个层级的权限控制:应用页面权限控制、数据权限控制。

应用页面权限控制可在报表访问层次提供权限访问的限制,通过填报管理中的权限分配,实现控制不同的报表使用者对填报表单具有/没有打开该填报表单的权限。

数据权限控制可以细分到单元格,系统首先判断操作员是否具有一个表单的个体访问权限,接下来再进一步判断该人是否具有某个单元格的访问权限。



如上图所示的一个具有多显示区域的填报表单,通过单元格控制将允许具有相关权限的用户查看单元格1,2,3,4的数据,而对一个不具有该数据查看权限的用户,上述单元格中的数据对他将是透明的。也可以将区域A整体进行设置,让一个区域作为一个整体来根据权限判断是否显示。更进一步地,还可以实现控制某个区域/单元格是否可写,具有权限的人可以填写/编辑,而其它不具备权限的人员则不能修改只能浏览。

做起来很简单,由于”可见”和”可写”的属性都支持表达式,所以只要把用户id或者角色id做为输入参数传给报表(设计报表时将相应参数的类型选为会话变量),然后通过表达式来进行判断当前用户是否拥有相关权限即可。比如要对某个单元格设定只有经理才能修改,只需在该单元格的可写表达式一栏填入 userid==’经理’ 即可。

这样通过简单几步设置,就可以实现细粒度的报表权限控制,使用起来非常灵活且大大节省了开发的时间。

你可能感兴趣的:(权限控制)