在SAP Cloud工作流程中使用特定于实例的角色

2020-09-17 03:27发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我为我的SAP Cloud Workflow开发了一个用户任务UI。 在此用户界面中,我想让用户可以将任务委派给其他人。

为此,我试图像这样更改任务的" recipientUsers":

 $ .ajax({url:"/img/bpmworkflowruntime/rest/v1/task-instances/"
                                     + oWorkflowData.taskData.InstanceID,
 方法:" PATCH",
 contentType:" application/json",
 异步:错误,
 数据:" {\" recipientUsers \":\"" + oProcessor.ID +" \"}",
 .... 

只要代理用户具有全局角色" WorkflowAdmin",它就可以完美工作。 当然,该角色不会授予"普通"用户。

因此,我想到了在创建每个工作流实例后立即为每个工作流实例分配"特定于实例"角色的想法。 为此,我正在使用它:

 $。ajax({url:"/img/bpmworkflowruntime/rest/v1/workflow-instances/" +
                  工作流程实例ID +"/img/roles",
 方法:" PATCH",
 contentType:" application/json",
 异步:错误,
 数据:" {\" adminGroups \":\" MyWFAdminGroup \",
                \" contextAdminGroups \":\" MyWFContextAdminGroup \"}",
 ... 

如果代理用户是" WorkflowAdmin",这也可以完美工作。 无需管理员权限,每个" WorkflowParticipant"都可以委派这样修改的任务

但这是没有意义的,因为任务不是由管理员创建的...

使用这种方法,对于普通的WF用户而言,不可能创建可以委派给其他人的Task。 但这就是您期望分配给您的任务所要做的……

那么如何解决呢? 能够委派任务对我们的流程至关重要。

此致

于尔根

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我为我的SAP Cloud Workflow开发了一个用户任务UI。 在此用户界面中,我想让用户可以将任务委派给其他人。

为此,我试图像这样更改任务的" recipientUsers":

 $ .ajax({url:"/img/bpmworkflowruntime/rest/v1/task-instances/"
                                     + oWorkflowData.taskData.InstanceID,
 方法:" PATCH",
 contentType:" application/json",
 异步:错误,
 数据:" {\" recipientUsers \":\"" + oProcessor.ID +" \"}",
 .... 

只要代理用户具有全局角色" WorkflowAdmin",它就可以完美工作。 当然,该角色不会授予"普通"用户。

因此,我想到了在创建每个工作流实例后立即为每个工作流实例分配"特定于实例"角色的想法。 为此,我正在使用它:

 $。ajax({url:"/img/bpmworkflowruntime/rest/v1/workflow-instances/" +
                  工作流程实例ID +"/img/roles",
 方法:" PATCH",
 contentType:" application/json",
 异步:错误,
 数据:" {\" adminGroups \":\" MyWFAdminGroup \",
                \" contextAdminGroups \":\" MyWFContextAdminGroup \"}",
 ... 

如果代理用户是" WorkflowAdmin",这也可以完美工作。 无需管理员权限,每个" WorkflowParticipant"都可以委派这样修改的任务

但这是没有意义的,因为任务不是由管理员创建的...

使用这种方法,对于普通的WF用户而言,不可能创建可以委派给其他人的Task。 但这就是您期望分配给您的任务所要做的……

那么如何解决呢? 能够委派任务对我们的流程至关重要。

此致

于尔根

付费偷看设置
发送
6条回答
空代码
1楼-- · 2020-09-17 03:51

您好Jürgen,

我们不久将发布针对工作流服务的REST API文档的更新版本,指出对于特定于实例和特定于任务的角色,用户需要分配WorkflowParticipant全局角色。

最诚挚的问候,
惊讶

亦是此间程序员
2楼-- · 2020-09-17 03:48

Hello Astrid,

您有关于我的更多信息吗? 从我的回答中可以看出,授权似乎是一个问题。 仅具有" WorkflowParticipant"角色是不够的。 如果用户具有" WorkflowAdmin"角色,一切都将完美完成

致谢

Jürgen

打个大熊猫
3楼-- · 2020-09-17 03:38

Hello Astrid,

如果我理解的正确,那么只要用户具有" WorkflowParticipant"角色,它就可以正常工作。

我的用户具有以下角色:" WorkflowContextAdmin"," WorkflowInitiator"," WorkflowParticipant" ...

当我与其中一个用户调用角色API时,总是得到响应代码403。

最好的问候

于尔根

愤怒的猪头君
4楼-- · 2020-09-17 03:40

Hello Tobias,

是的,我正在发送CSRF令牌。 如果代理用户具有" WorkflowAdmin"角色,则My Code可以完美工作。 所以我想我的代码基本上是正确的。

最好的问候

于尔根

吹牛啤
5楼-- · 2020-09-17 03:27

如何使用新功能通过脚本任务设置特定于实例的角色?

https://help.sap.com/viewer/ f85276c5069a429fa37d1cd352785c25/Cloud/zh-CN/40044265e1754c50b9f0be890e3a4760.html

 var admins = $ .roles.adminUsers;
 admins.push('Julie'); 

这样,您可以避免API调用来设置UI中的角色。

此致

Sesh

me_for_i
6楼-- · 2020-09-17 03:52

嗨,

感谢Sesh的提示。 我会尝试。 但是,如果我从Astrid那里获得了第一个答案,那么它应该可以与API一起使用。

现在,我们为所有用户组分配了" WorkflowAdmin"角色,它与API完美结合。 因此,授权肯定是一个问题。

此致

于尔根

一周热门 更多>