# 流程详情查看权限

# 一、鉴权类型描述

鉴权类型主要分为三类:流程权限、数据权限、特殊鉴权。 1749537426831.png

# 1.1 流程权限

流程权限主要包含:流程参与人、代理人、督办人、VIP督办、消息节点、表单查询、运维监控、关注、流程实例权限。

# 1.2 数据权限

对实体有权限: 1.对标准应用有权限,表单应用没有数据权限 2.标准应用没有开启数据权限,所有的实例都能看。 3.标准应用开启了数据权限,走数据权限,能有数据权限就能打开详情。

具体设置点如下图: 1749537013010.png

# 1.3 特殊鉴权

特殊鉴权包含:分享、关联文档、报表、参照、应用自定义列表查看

# 二、鉴权扩展

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

编撰人:wensl、wxju