OperationServiceHelper.executeOperate执行操作,提示无权解决方案

1 问题描述
有些时候,开发因业务某种需要,会在表单插件,或者后台程序的某些时机通过调OperationServiceHelper.executeOperate来触发操作,偶尔会遇到提示没有执行权限的异常。但是检查用户功能权限报表(userspermreport)发现有权


2 原因分析
(1)此类问题涉及到权限发布应用相关知识:
如果实体指定在“原生应用” 或 “权限发布应用”下验权, 那么就按该应用验权。否则统一按“原生应用”验权。
https://developer.kingdee.com/article/305300216477853696?productLineId=29&isKnowledge=2&lang=zh-CN
(2)当自行调用OperationServiceHelper时,如果不传入需要验权应用id,如上验权逻辑所述,会默认按所属应用验权,往往会与业务需求不符,导致提示无权的问题。
3 解决方法
(1)executeOperate有一个OperateOption的入参,这个是操作上下文。
后台验权时,会从操作上下文(OperateOption)中获取自定义参数值,以用于按应用验权。

(2)修改后代码如下
OperateOption operateOption = OperateOption.create(); operateOption.setVariableValue(OperateOptionConst.CURRBIZAPPID, getView().getFormShowParameter().getAppId()); OperationResult oper
OperationServiceHelper.executeOperate执行操作,提示无权解决方案
1 问题描述有些时候,开发因业务某种需要,会在表单插件,或者后台程序的某些时机通过调OperationServiceHelper.executeOperate来触发操...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇




