2017-03-31 58 views
0

在AEM工作流程冒充InitiatorSession,當我嘗試模擬workflowSession到發起方,這將引發異常:如何獲得/建立/ AEM工作流程

javax.security.auth.login.FailedLoginException:模擬不 允許。

我一定需要發起的會話觸發一些任務在我的工作流程,前面我用這個用得到:

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

其中adminSession現在已經過時,我們使用系統的用戶,現在,所以我不能將系統用戶模擬爲啓動器用戶,有何建議?

回答

1

您需要具有模擬權限的用戶帳戶。您的服務帳戶需要成爲其試圖模擬的用戶的允許模仿者。

嘗試使用適當的用戶組來控制權限。

1

我不知道您的使用案例,但是如果工作流現在分配給新用戶,您不應該冒充發起人。您始終可以將WorkflowSession修改爲SessionSession session = workflowSession.adaptTo(Session.class),除非工作流經過用戶步驟並更改爲新用戶,否則這將爲您啓動發起人會話。否則,您可以按照您所述創建系統用戶會話並使用它。