0

在 AEM 工作流中,当我尝试模拟 workflowSession 来启动时,这会引发异常:

javax.security.auth.login.FailedLoginException:不允许模拟。

我必须需要发起人的会话来触发我的工作流程中的某些任务,之前我曾经使用过:

initiatorSession= adminSession.impersonate(new SimpleCredentials(initiatorUser,"".toCharArray())); 

现在不推荐使用 adminSession 并且我们现在使用系统用户,因此我无法将系统用户模拟为发起人用户,有什么建议吗?

4

2 回答 2

1

我不知道您的用例,但如果工作流现在分配给新用户,您不应该冒充发起人。您始终可以将 : 调整WorkflowSessionSession: Session session = workflowSession.adaptTo(Session.class),除非工作流程通过用户步骤并更改为新用户,否则您将获得发起者会话。否则,您可以按照您提到的那样创建一个系统用户会话并使用它。

于 2017-04-01T05:03:00.310 回答
1

您需要一个具有模拟权限的用户帐户。您的服务帐户必须是它试图模拟的用户的允许模拟者。

尝试使用适当的用户组控制权限。

于 2017-03-31T20:40:50.137 回答