2017-03-31 3 views
0

In AEM Workflow, Wenn ich versuche, workflowSession zu verkörpern diese Ausnahme wirft Initiator:Anfahrt/create/Identitätswechsel InitiatorSession in AEM Workflow

javax.security.auth.login.FailedLoginException: Identitätswechsel nicht erlaubt .

ich unbedingt Initiator der Sitzung müssen einige Aufgaben in meinem Workflow auszulösen, früher habe ich diese mit bekommen:

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

wo adminSession jetzt veraltet und wir Systembenutzer verwenden jetzt, und so kann ich nicht Systembenutzer für den Initiatorbenutzer imitieren, irgendwelche Vorschläge?

Antwort

1

Sie benötigen ein Benutzerkonto mit Identitätswechselberechtigung. Ihr Dienstkonto muss ein zulässiger Imitator für den Benutzer sein, der versucht, sich zu imitieren.

Versuchen Sie, Berechtigungen mit entsprechenden Benutzergruppen zu steuern.

1

Ich kenne Ihren Anwendungsfall nicht, aber Sie sollten den Initiator nicht imitieren, wenn der Workflow jetzt einem neuen Benutzer zugewiesen ist. Sie können die WorkflowSession immer an eine Session: Session session = workflowSession.adaptTo(Session.class) anpassen, die Ihnen die Initiatorsitzung liefert, sofern der Workflow keinen Benutzerschritt durchlaufen hat und zu einem neuen Benutzer geändert wurde. Andernfalls können Sie wie erwähnt eine Systembenutzer-Sitzung erstellen und diese verwenden.