# 流程详情提示【流程外人员无法查看】解决方案
# 自定义列表后,如果使能查看列表的人员能穿透查看具体详情数据,具体方案如下
# 一、实体权限控制
1、实体中开启数据权限
2、权限校验中增加实体的数据
该设置需要注意:流程中的人查看数据也会受控制
3、综上 如设置2没办法合理设置范围时,当前仅支持设置全部人员能查看,通过菜单或者列表的权限进行权限控制。
# 二、客开事项自定义鉴权类
1、客开增加一个鉴权类,实现ThirdPermissionAppService类
@Slf4j
@AppService(value = "Bpm自定义权限校验查看协同")
@DubboService
public class BpmPermissionAppService implements ThirdPermissionAppService {
@Override
public SingleResponse<Map<String, Boolean>> checkPermissionByUser(SingleRequest<ThirdCheckResourcePermissionDto> singleRequest) {
ThirdCheckResourcePermissionDto dto = singleRequest.getData();
Map<String, Boolean> map = new HashMap<>();
map.put(resourcePermissionDto.getResourceCode(), true);//返回true则表示有权限
return SingleResponse.from(map);
}
}
2、 穿透查看详情的链接中,增加扩展鉴权参数
在打开详情的URL上追加** authObjectId、authAppName **,BPM拿到这2个参数后,调用用户中心的鉴权接口进行鉴权。
url & authObjectId=数据id & authAppName= 应用标识(比如:docmanagement371717577236826126)
authObjectId: 接受字符串类型,可进行扩展,根据应用权限需要参数进行封装。 如应用需要复杂鉴权,则可以authObjectId进行一些业务属性拼接,比如费控应用中预算和报销鉴权方式不统一,则可以authObjectId中拼接应用具体来源标识:4470227144319518573_feikong
authAppName:应用code,当前实现类在什么应用下,就传递该应用code
编撰人:wxju、liucong
← 扩展能力
