业务描述
在某个项目中发现,客户对权限的控制要求很细,前期在上线的时候,配置了大量规则,有一些其实可以简化。
以发货通知单为例,客户希望只有采购员只能看到与自己相关的单据,也就是单据上的“采购员”有自己名字的。
例如:采购员张某可以看到下图这个发货通知单(表头采购员是她),其他采购员不允许看到这张发货通知单:
对于这个需求,通常的配置方法是,为该采购员专门建立一个角色,然后为这个角色需要使用的每一张单据都建立一条数据规则,规则内容是:采购员=‘该采购员姓名’:
这样虽然可以实现,但是工作量太大了,每个采购员都要建立专门角色,并为每个采购员每张需要使用到的单据都专门建立一条数据规则,未来调整也非常麻烦。
解决办法
事实上,系统的权限规则里面,可以设置为“需要控制的字段 = 当前用户对应业务员ID”,实现根据当前操作人来控制权限:
只不过,如果是自己增加的字段,默认无法选这个比较规则,所以有的顾问采取每个用户分别建立角色及数据规则的方法。
咨询总部后发现,在bos里面配置一下这个字段的“过滤比较符号集”,就可以选择这种比较对象,这样就只需要配一个角色:
保存完成后,再去权限里面建立数据规则,发现就能选择到这种比较对象了:
这样一来,就不需要这么多角色了,只要配置采购员角色对发货通知单的查看权限数据规则为上图即可,后续有新采购员,拉进这个角色即可。