Info zu User Management
Sie können die User Management-API verwenden, um Clientanwendungen zu erstellen, die Rollen, Berechtigungen und Prinzipale (d. h. Benutzer oder Gruppen) verwalten und Benutzer authentifizieren können. Die User Management-API besteht aus den folgenden AEM Forms-APIs:
Mit User Management können Sie Rollen und Berechtigungen zuweisen, entfernen und festlegen. Außerdem können Sie Domänen, Benutzer und Abfragen zuweisen, entfernen und Gruppen zuweisen. Schließlich können Sie User Management verwenden, um Benutzer zu authentifizieren.
Unter Hinzufügen von Benutzern erfahren Sie, wie Sie Benutzer programmatisch hinzufügen. In diesem Abschnitt wird die Directory Manager-Dienst-API verwendet.
Unter Löschen von Benutzern erfahren Sie, wie Sie Benutzer programmatisch löschen. In diesem Abschnitt wird die Directory Manager-Dienst-API verwendet.
Unter Verwalten von Benutzern und Gruppen verstehen Sie den Unterschied zwischen einem lokalen Benutzer und einem Ordnerbenutzer und finden Beispiele dafür, wie Sie mit den Java- und Webdienst-APIs Benutzer und Gruppen programmgesteuert verwalten. In diesem Abschnitt wird die Directory Manager-Dienst-API verwendet.
Unter Verwalten von Rollen und Berechtigungen erfahren Sie mehr über die Systemrollen und -berechtigungen und was Sie programmgesteuert tun können, um sie zu erweitern. Außerdem finden Sie Beispiele für die Verwendung der Java- und Webdienst-APIs zum programmgesteuerten Verwalten von Rollen und Berechtigungen. In diesem Abschnitt werden sowohl die Directory Manager-Dienst-API als auch die Authorization Manager-Dienst-API verwendet.
Unter Authentifizieren von Benutzern finden Sie Beispiele dafür, wie Sie die Java- und Webdienst-APIs zur programmatischen Authentifizierung von Benutzern verwenden. In diesem Abschnitt wird die Autorisierungs-Manager-Dienst-API verwendet.
Authentifizierungsprozess
User Management bietet integrierte Authentifizierungsfunktionen und die Möglichkeit, diese mit Ihrem eigenen Authentifizierungsanbieter zu verbinden. Wenn User Management eine Authentifizierungsanforderung erhält (z. B. wenn ein Benutzer versucht, sich anzumelden), werden Benutzerinformationen zur Authentifizierung an den Authentifizierungsanbieter weitergeleitet. User Management erhält die Ergebnisse vom Authentifizierungsanbieter, nachdem der Benutzer authentifiziert wurde.
Das folgende Diagramm zeigt die Interaktion zwischen einem Endbenutzer, der versucht, sich anzumelden, User Management und dem Authentifizierungsanbieter.
In der folgenden Tabelle werden die einzelnen Schritte des Authentifizierungsprozesses beschrieben.
Schritt |
Beschreibung |
---|---|
1 |
Ein Benutzer versucht, sich bei einem Dienst anzumelden, der User Management aufruft. Der Benutzer gibt einen Benutzernamen und ein Kennwort an. |
2 |
User Management sendet den Benutzernamen und das Kennwort sowie Konfigurationsinformationen an den Authentifizierungsanbieter. |
3 |
Der Authentifizierungsanbieter stellt eine Verbindung zum Benutzerspeicher her und authentifiziert den Benutzer. |
4 |
Der Authentifizierungsanbieter gibt die Ergebnisse an User Management zurück. |
5 |
Mit der Benutzerverwaltung können Benutzer sich entweder anmelden oder den Zugriff auf das Produkt verweigern. |
Wenn sich die Zeitzone des Servers von der Zeitzone des Clients unterscheidet und der WSDL-Dienst für den AEM Forms Generate PDF-Dienst auf einem nativen SOAP-Stapel mit einem .NET-Client auf einem WebSphere Application Server-Cluster verwendet wird, kann der folgende User Management-Authentifizierungsfehler auftreten:
[com.adobe.idp.um.webservices.WSSecurityHandler] errorCode:12803 errorCodeHEX:0x3203 message:WSSecurityHandler: UM authenticate returns exception : An error was discovered processing the <wsse:Security> header. (WSSecurityEngine: Invalid timestamp The security semantics of message have expired).
Informationen zur Ordnerverwaltung
User Management wird mit einem Directory Dienstleister (dem DirectoryManagerService) verpackt, der Verbindungen zu LDAP-Ordnern unterstützt. Wenn Ihr Unternehmen Benutzerdatensätze mit einem Nicht-LDAP-Repository speichert, können Sie einen eigenen Dienstleister erstellen, der mit Ihrem Repository funktioniert.
Directory-Dienstleister rufen auf Anfrage von User Management Datensätze aus einem Benutzerspeicher ab. User Management speichert Benutzer- und Gruppendatensätze in der Datenbank regelmäßig zwischen, um die Leistung zu verbessern.
Der Dienstleister "directory"kann zum Synchronisieren der User Management-Datenbank mit dem Benutzerspeicher verwendet werden. Dieser Schritt stellt sicher, dass alle Benutzerordnerinformationen sowie alle Benutzer- und Gruppendatensätze auf dem neuesten Stand sind.
Darüber hinaus bietet Ihnen der DirectoryManagerService die Möglichkeit, Domänen zu erstellen und zu verwalten. Domänen definieren unterschiedliche Benutzergrundlagen. Die Begrenzung einer Domäne wird in der Regel entsprechend der Struktur Ihres Unternehmens oder der Einrichtung Ihres Benutzerspeichers definiert. User Management-Domänen bieten Konfigurationseinstellungen, die von Authentifizierungsanbietern und Dienstleistern verwendet werden.
In der Konfigurationsdatei, die User Management exportiert, enthält der Stammknoten mit dem Attributwert Domains
ein XML-Element für jede für User Management definierte Domäne. Jedes dieser Elemente enthält andere Elemente, die bestimmte Aspekte der Domäne definieren, die bestimmten Dienstleistern zugeordnet sind.
Grundlegendes zu objectSID-Werten
Bei der Verwendung von Active Directory ist zu beachten, dass ein objectSID
-Wert kein eindeutiges Attribut über mehrere Domänen hinweg ist. Dieser Wert speichert die Sicherheitskennung eines Objekts. In einer Umgebung mit mehreren Domänen (z. B. einer Struktur von Domänen) kann der objectSID
-Wert unterschiedlich sein.
Ein objectSID
-Wert würde sich ändern, wenn ein Objekt von einer Active Directory-Domäne in eine andere Domäne verschoben wird. Einige Objekte haben denselben objectSID
-Wert an einer beliebigen Stelle in der Domäne. Zum Beispiel hätten Gruppen wie BUILTIN\Administratoren, BUILTIN\Power Users usw. unabhängig von den Domänen denselben objectSID
-Wert. Diese objectSID
-Werte sind bekannt.
Sie können die Directory Manager-Dienst-API (Java und Webdienst) verwenden, um AEM Forms programmgesteuert Benutzer hinzuzufügen. Nachdem Sie einen Benutzer hinzugefügt haben, können Sie ihn bei einem Dienstvorgang verwenden, für den ein Benutzer erforderlich ist. Sie können dem neuen Benutzer beispielsweise eine Aufgabe zuweisen.
So fügen Sie einen Benutzer hinzu:
Projektdateien einschließen
Schließen Sie die erforderlichen Dateien in Ihr Entwicklungsprojekt ein. Wenn Sie eine Clientanwendung mit Java erstellen, schließen Sie die erforderlichen JAR-Dateien ein. Wenn Sie Webdienste verwenden, schließen Sie die Proxydateien ein.
Erstellen eines DirectoryManagerService-Clients
Bevor Sie einen Directory Manager-Dienstvorgang programmgesteuert durchführen können, erstellen Sie einen Directory Manager-Dienst-API-Client.
Benutzerinformationen definieren
Wenn Sie einen neuen Benutzer mithilfe der Directory Manager-Dienst-API hinzufügen, definieren Sie Informationen für diesen Benutzer. Wenn Sie einen neuen Benutzer hinzufügen, definieren Sie in der Regel die folgenden Werte:
DefaultDom
).wblue
).USER)
.Wendy
).Blue)
.hinzufügen des Benutzers auf AEM Forms
Nachdem Sie Benutzerinformationen definiert haben, können Sie den Benutzer zu AEM Forms hinzufügen. Um einen Benutzer hinzuzufügen, rufen Sie die DirectoryManagerServiceClient
-Methode des Objekts createLocalUser
auf.
Überprüfen, ob der Benutzer hinzugefügt wurde
Sie können überprüfen, ob der Benutzer hinzugefügt wurde, um sicherzustellen, dass keine Probleme aufgetreten sind. Suchen Sie den neuen Benutzer mithilfe des Benutzerkennungswerts.
Siehe auch
hinzufügen Benutzer mit der Java-API
hinzufügen mit der Webdienst-API
Einbeziehung von AEM Forms Java-Bibliotheksdateien
Verbindungseigenschaften festlegen
hinzufügen Benutzer mithilfe der Directory Manager-Dienst-API (Java):
Schließen Sie Projektdateien ein.
Schließen Sie Client-JAR-Dateien wie "adobe-usermanager-client.jar"im Klassenpfad Ihres Java-Projekts ein.
Erstellen Sie einen DirectoryManagerServices-Client.
Erstellen Sie ein DirectoryManagerServiceClient
-Objekt, indem Sie den Konstruktor verwenden und ein ServiceClientFactory
-Objekt übergeben, das Verbindungseigenschaften enthält.
Legen Sie Benutzerinformationen fest.
UserImpl
, indem Sie den Konstruktor verwenden.UserImpl
-Methode des Objekts setDomainName
aufrufen. Übergeben Sie einen Zeichenfolgenwert, der den Domänennamen angibt.UserImpl
-Methode des Objekts setPrincipalType
aufrufen. Übergeben Sie einen Zeichenfolgenwert, der den Typ des Benutzers angibt. Sie können beispielsweise USER
angeben.UserImpl
-Methode des Objekts setUserid
aufrufen. Übergeben Sie einen Zeichenfolgenwert, der den Wert der Benutzerkennung angibt. Sie können beispielsweise wblue
angeben.UserImpl
-Methode des Objekts setCanonicalName
aufrufen. Übergeben Sie einen Zeichenfolgenwert, der den kanonischen Namen des Benutzers angibt. Sie können beispielsweise wblue
angeben.UserImpl
-Methode des Objekts setGivenName
aufrufen. Übergeben Sie einen Zeichenfolgenwert, der den Vornamen des Benutzers angibt. Sie können beispielsweise Wendy
angeben.UserImpl
-Methode des Objekts setFamilyName
aufrufen. Übergeben Sie einen Zeichenfolgenwert, der den Nachnamen des Benutzers angibt. Sie können beispielsweise Blue
angeben.Rufen Sie eine Methode auf, die zum UserImpl
-Objekt gehört, um andere Werte festzulegen. Sie können beispielsweise den Wert des Gebietsschemas festlegen, indem Sie die UserImpl
-Methode des Objekts setLocale
aufrufen.
hinzufügen den Benutzer nach AEM Forms.
Rufen Sie die createLocalUser
-Methode des Objekts auf und übergeben Sie die folgenden Werte:DirectoryManagerServiceClient
UserImpl
-Objekt, das den neuen Benutzer darstelltDie createLocalUser
-Methode gibt einen Zeichenfolgenwert zurück, der den lokalen Benutzer-ID-Wert angibt.
Vergewissern Sie sich, dass der Benutzer hinzugefügt wurde.
PrincipalSearchFilter
, indem Sie den Konstruktor verwenden.PrincipalSearchFilter
-Methode des Objekts setUserId
aufrufen. Übergeben Sie einen Zeichenfolgenwert, der den Wert der Benutzerkennung darstellt.findPrincipals
-Methode des Objekts auf und übergeben Sie das PrincipalSearchFilter
-Objekt. DirectoryManagerServiceClient
Diese Methode gibt eine java.util.List
-Instanz zurück, wobei jedes Element ein User
-Objekt ist. Durchlaufen Sie die java.util.List
-Instanz, um den Benutzer zu suchen.Siehe auch
Quick Beginn (SOAP-Modus): Hinzufügen von Benutzern mit der Java-API
Einbeziehung von AEM Forms Java-Bibliotheksdateien
Verbindungseigenschaften festlegen
hinzufügen Benutzer mithilfe der Directory Manager-Dienst-API (Webdienst):
Schließen Sie Projektdateien ein.
Erstellen Sie ein Microsoft .NET-Projekt, das MTOM verwendet. Stellen Sie sicher, dass Sie die folgende WSDL-Definition für die Dienstreferenz verwenden: http://localhost:8080/soap/services/DirectoryManagerService?WSDL&lc_version=9.0.1
.
Ersetzen Sie localhost
durch die IP-Adresse des Servers, auf dem AEM Forms gehostet wird.
Erstellen Sie einen DirectoryManagerService-Client.
Erstellen Sie ein DirectoryManagerServiceClient
-Objekt mit dem Standardkonstruktor.
Erstellen Sie ein DirectoryManagerServiceClient.Endpoint.Address
-Objekt mit dem Konstruktor System.ServiceModel.EndpointAddress
. Übergeben Sie einen Zeichenfolgenwert, der den WSDL-Wert an den AEM Forms-Dienst angibt (z. B. http://localhost:8080/soap/services/DirectoryManagerService?blob=mtom
). Sie müssen das Attribut lc_version
nicht verwenden. Dieses Attribut wird verwendet, wenn Sie eine Dienstreferenz erstellen. Stellen Sie sicher, dass Sie ?blob=mtom
angeben.
Erstellen Sie ein System.ServiceModel.BasicHttpBinding
-Objekt, indem Sie den Wert des Felds DirectoryManagerServiceClient.Endpoint.Binding
abrufen. Wandeln Sie den Rückgabewert in BasicHttpBinding
um.
Setzen Sie das Feld System.ServiceModel.BasicHttpBinding
des Objekts auf MessageEncoding
. WSMessageEncoding.Mtom
Dieser Wert stellt sicher, dass MTOM verwendet wird.
Aktivieren Sie die einfache HTTP-Authentifizierung, indem Sie die folgenden Aufgaben ausführen:
DirectoryManagerServiceClient.ClientCredentials.UserName.UserName
den AEM Forms-Benutzernamen zu.DirectoryManagerServiceClient.ClientCredentials.UserName.Password
den entsprechenden Kennwortwert zu.BasicHttpBindingSecurity.Transport.ClientCredentialType
den Konstantenwert HttpClientCredentialType.Basic
zu.BasicHttpBindingSecurity.Security.Mode
den Konstantenwert BasicHttpSecurityMode.TransportCredentialOnly
zu.Legen Sie Benutzerinformationen fest.
UserImpl
, indem Sie den Konstruktor verwenden.UserImpl
des Objekts domainName
einen Zeichenfolgenwert zuweisen.UserImpl
des Objekts principalType
einen Zeichenfolgenwert zuweisen. Sie können beispielsweise USER
angeben.UserImpl
des Objekts userid
einen Zeichenfolgenwert zuweisen.UserImpl
des Objekts canonicalName
einen Zeichenfolgenwert zuweisen.UserImpl
des Objekts givenName
einen Zeichenfolgenwert zuweisen.UserImpl
des Objekts familyName
einen Zeichenfolgenwert zuweisen.hinzufügen den Benutzer nach AEM Forms.
Rufen Sie die createLocalUser
-Methode des Objekts auf und übergeben Sie die folgenden Werte:DirectoryManagerServiceClient
UserImpl
-Objekt, das den neuen Benutzer darstelltDie createLocalUser
-Methode gibt einen Zeichenfolgenwert zurück, der den lokalen Benutzer-ID-Wert angibt.
Vergewissern Sie sich, dass der Benutzer hinzugefügt wurde.
PrincipalSearchFilter
, indem Sie den Konstruktor verwenden.userId
des Objekts PrincipalSearchFilter
einen Zeichenfolgenwert zuweisen, der den Wert für die Benutzerkennung darstellt.findPrincipals
-Methode des Objekts auf und übergeben Sie das PrincipalSearchFilter
-Objekt. DirectoryManagerServiceClient
Diese Methode gibt ein Collection-Objekt MyArrayOfUser
zurück, wobei jedes Element ein User
-Objekt ist. Durchlaufen Sie die MyArrayOfUser
-Sammlung, um den Benutzer zu suchen.Siehe auch
Aufrufen von AEM Forms mit MTOM
Aufrufen von AEM Forms mit SwaRef
Sie können die Directory Manager-Dienst-API (Java und Webdienst) verwenden, um Benutzer programmgesteuert aus AEM Forms zu löschen. Nach dem Löschen eines Benutzers kann der Benutzer nicht mehr für einen Dienstvorgang verwendet werden, für den ein Benutzer erforderlich ist. Beispielsweise können Sie einer gelöschten Aufgabe keine ID zuweisen.
So löschen Sie einen Benutzer:
Projektdateien einschließen
Schließen Sie die erforderlichen Dateien in Ihr Entwicklungsprojekt ein. Wenn Sie eine Clientanwendung mit Java erstellen, schließen Sie die erforderlichen JAR-Dateien ein. Wenn Sie Webdienste verwenden, schließen Sie die Proxydateien ein.
Erstellen eines DirectoryManagerService-Clients
Bevor Sie einen Directory Manager-Dienst-API-Vorgang programmgesteuert durchführen können, erstellen Sie einen Directory Manager-Dienstclient.
Benutzer zum Löschen angeben
Sie können einen Benutzer angeben, der gelöscht werden soll, indem Sie den Bezeichnerwert des Benutzers verwenden.
Benutzer aus AEM Forms löschen
Um einen Benutzer zu löschen, rufen Sie die DirectoryManagerServiceClient
-Methode des Objekts deleteLocalUser
auf.
Siehe auch
Benutzer mit der Java-API löschen
Löschen von Benutzern mit der Webdienst-API
Einbeziehung von AEM Forms Java-Bibliotheksdateien
Verbindungseigenschaften festlegen
Löschen Sie Benutzer mithilfe der Directory Manager-Dienst-API (Java):
Schließen Sie Projektdateien ein.
Schließen Sie Client-JAR-Dateien wie "adobe-usermanager-client.jar"im Klassenpfad Ihres Java-Projekts ein.
Erstellen Sie einen DirectoryManagerService-Client.
Erstellen Sie ein DirectoryManagerServiceClient
-Objekt, indem Sie den Konstruktor verwenden und ein ServiceClientFactory
-Objekt übergeben, das Verbindungseigenschaften enthält.
Geben Sie den zu löschenden Benutzer an.
PrincipalSearchFilter
, indem Sie den Konstruktor verwenden.PrincipalSearchFilter
-Methode des Objekts setUserId
aufrufen. Übergeben Sie einen Zeichenfolgenwert, der den Wert der Benutzerkennung darstellt.findPrincipals
-Methode des Objekts auf und übergeben Sie das PrincipalSearchFilter
-Objekt. DirectoryManagerServiceClient
Diese Methode gibt eine java.util.List
-Instanz zurück, wobei jedes Element ein User
-Objekt ist. Durchlaufen Sie die java.util.List
-Instanz, um den zu löschenden Benutzer zu suchen.Löschen Sie den Benutzer aus AEM Forms.
Rufen Sie die deleteLocalUser
-Methode des Objekts auf und übergeben Sie den Wert des Felds User
des Objekts oid
. DirectoryManagerServiceClient
Rufen Sie die User
-Methode des Objekts getOid
auf. Verwenden Sie das User
-Objekt, das von der java.util.List
-Instanz abgerufen wird.
Siehe auch
Quick Beginn (EJB-Modus): Löschen von Benutzern mit der Java-API
Quick Beginn (SOAP-Modus): Löschen von Benutzern mit der Java-API
Einbeziehung von AEM Forms Java-Bibliotheksdateien
Verbindungseigenschaften festlegen
Löschen Sie Benutzer mithilfe der Directory Manager-Dienst-API (Webdienst):
Schließen Sie Projektdateien ein.
Schließen Sie Client-JAR-Dateien wie "adobe-usermanager-client.jar"im Klassenpfad Ihres Java-Projekts ein.
Erstellen Sie einen DirectoryManagerService-Client.
Erstellen Sie ein DirectoryManagerServiceClient
-Objekt mit dem Standardkonstruktor.
Erstellen Sie ein DirectoryManagerServiceClient.Endpoint.Address
-Objekt mit dem Konstruktor System.ServiceModel.EndpointAddress
. Übergeben Sie einen Zeichenfolgenwert, der den WSDL-Wert an den AEM Forms-Dienst angibt (z. B. http://localhost:8080/soap/services/DirectoryManagerService?blob=mtom
). Sie müssen das Attribut lc_version
nicht verwenden. Dieses Attribut wird verwendet, wenn Sie eine Dienstreferenz erstellen. Stellen Sie sicher, dass Sie blob=mtom.
angeben
Erstellen Sie ein System.ServiceModel.BasicHttpBinding
-Objekt, indem Sie den Wert des Felds DirectoryManagerServiceClient.Endpoint.Binding
abrufen. Wandeln Sie den Rückgabewert in BasicHttpBinding
um.
Setzen Sie das Feld System.ServiceModel.BasicHttpBinding
des Objekts auf MessageEncoding
. WSMessageEncoding.Mtom
Dieser Wert stellt sicher, dass MTOM verwendet wird.
Aktivieren Sie die einfache HTTP-Authentifizierung, indem Sie die folgenden Aufgaben ausführen:
DirectoryManagerServiceClient.ClientCredentials.UserName.UserName
den AEM Forms-Benutzernamen zu.DirectoryManagerServiceClient.ClientCredentials.UserName.Password
den entsprechenden Kennwortwert zu.BasicHttpBindingSecurity.Transport.ClientCredentialType
den Konstantenwert HttpClientCredentialType.Basic
zu.BasicHttpBindingSecurity.Security.Mode
den Konstantenwert BasicHttpSecurityMode.TransportCredentialOnly
zu.Geben Sie den zu löschenden Benutzer an.
PrincipalSearchFilter
, indem Sie den Konstruktor verwenden.PrincipalSearchFilter
des Objekts userId
einen Zeichenfolgenwert zuweisen.findPrincipals
-Methode des Objekts auf und übergeben Sie das PrincipalSearchFilter
-Objekt. DirectoryManagerServiceClient
Diese Methode gibt ein Collection-Objekt MyArrayOfUser
zurück, wobei jedes Element ein User
-Objekt ist. Durchlaufen Sie die MyArrayOfUser
-Sammlung, um den Benutzer zu suchen. Das User
-Objekt, das aus dem MyArrayOfUser
-Sammlungsobjekt abgerufen wird, wird zum Löschen des Benutzers verwendet.Löschen Sie den Benutzer aus AEM Forms.
Löschen Sie den Benutzer, indem Sie den Feldwert oid
des Objekts an die DirectoryManagerServiceClient
-Methode des Objekts deleteLocalUser
übergeben.User
Siehe auch
Aufrufen von AEM Forms mit MTOM
Aufrufen von AEM Forms mit SwaRef
Sie können die Directory Manager-Dienst-API (Java und Webdienst) verwenden, um AEM Forms-Gruppen programmgesteuert zu erstellen. Nachdem Sie eine Gruppe erstellt haben, können Sie diese Gruppe verwenden, um einen Dienstvorgang durchzuführen, für den eine Gruppe erforderlich ist. Beispielsweise können Sie der neuen Gruppe einen Benutzer zuweisen. (Siehe Verwalten von Benutzern und Gruppen.)
So erstellen Sie eine Gruppe:
Projektdateien einschließen
Schließen Sie die erforderlichen Dateien in Ihr Entwicklungsprojekt ein. Wenn Sie eine Clientanwendung mit Java erstellen, schließen Sie die erforderlichen JAR-Dateien ein.
Die folgenden JAR-Dateien müssen dem Klassenpfad Ihres Projekts hinzugefügt werden:
Informationen zum Speicherort dieser JAR-Dateien finden Sie unter Einschließen von AEM Forms Java-Bibliotheksdateien.
Erstellen eines DirectoryManagerService-Clients
Bevor Sie einen Directory Manager-Dienstvorgang programmgesteuert durchführen können, erstellen Sie einen Directory Manager-Dienst-API-Client.
Bestimmen, ob die Gruppe vorhanden ist
Wenn Sie eine Gruppe erstellen, stellen Sie sicher, dass die Gruppe nicht in derselben Domäne vorhanden ist. Das heißt, zwei Gruppen können nicht denselben Namen innerhalb derselben Domäne haben. Um diese Aufgabe durchzuführen, führen Sie eine Suche durch und filtern Sie die Suchergebnisse anhand zweier Werte. Stellen Sie den Prinzipaltyp auf com.adobe.idp.um.api.infomodel.Principal.PRINCIPALTYPE_GROUP
ein, um sicherzustellen, dass nur Gruppen zurückgegeben werden. Achten Sie außerdem darauf, den Domänennamen anzugeben.
Gruppe erstellen
Nachdem Sie festgestellt haben, dass die Gruppe nicht in der Domäne vorhanden ist, erstellen Sie die Gruppe und geben Sie die folgenden Attribute an:
Durchführen einer Aktion mit der Gruppe
Nachdem Sie eine Gruppe erstellt haben, können Sie eine Aktion mit der Gruppe durchführen. Sie können der Gruppe beispielsweise einen Benutzer hinzufügen. Um einen Benutzer zu einer Gruppe hinzuzufügen, rufen Sie den eindeutigen Bezeichnerwert des Benutzers und der Gruppe ab. Übergeben Sie diese Werte an die addPrincipalToLocalGroup
-Methode.
Siehe auch
Erstellen von Gruppen mit der Java-API
Einbeziehung von AEM Forms Java-Bibliotheksdateien
Verbindungseigenschaften festlegen
Erstellen Sie eine Gruppe mithilfe der Directory Manager Service API (Java):
Schließen Sie Projektdateien ein.
Schließen Sie Client-JAR-Dateien wie "adobe-usermanager-client.jar"im Klassenpfad Ihres Java-Projekts ein.
Erstellen Sie einen DirectoryManagerService-Client.
Erstellen Sie ein DirectoryManagerServiceClient
-Objekt, indem Sie den Konstruktor verwenden und ein ServiceClientFactory
-Objekt übergeben, das Verbindungseigenschaften enthält.
Bestimmen Sie, ob die Gruppe vorhanden ist.
PrincipalSearchFilter
, indem Sie den Konstruktor verwenden.PrincipalSearchFilter
-Objekt des Objekts setPrincipalType
aufrufen. Übergeben Sie den Wert com.adobe.idp.um.api.infomodel.Principal.PRINCIPALTYPE_GROUP
.PrincipalSearchFilter
-Objekt des Objekts setSpecificDomainName
aufrufen. Übergeben Sie einen Zeichenfolgenwert, der den Domänennamen angibt.DirectoryManagerServiceClient
-Methode des Objekts findPrincipals
auf (ein Prinzipal kann eine Gruppe sein). Übergeben Sie das PrincipalSearchFilter
-Objekt, das den Prinzipaltyp und den Domänennamen angibt. Diese Methode gibt eine java.util.List
-Instanz zurück, bei der jedes Element eine Group
-Instanz ist. Jede Gruppeninstanz entspricht dem mit dem PrincipalSearchFilter
-Objekt angegebenen Filter.java.util.List
-Instanz. Rufen Sie für jedes Element den Gruppennamen ab. Stellen Sie sicher, dass der Gruppenname nicht dem neuen Gruppennamen entspricht.Erstellen Sie die Gruppe.
Group
-Methode des Objekts setCommonName
auf und übergeben Sie einen Zeichenfolgenwert, der den Gruppennamen angibt.setDescription
-Methode des Objekts auf und übergeben Sie einen Zeichenfolgenwert, der die Gruppenbeschreibung angibt.Group
setDomainName
-Methode des Objekts auf und übergeben Sie einen Zeichenfolgenwert, der den Domänennamen angibt.Group
createLocalGroup
-Methode des Objekts auf und übergeben Sie die Group
-Instanz.DirectoryManagerServiceClient
Die createLocalUser
-Methode gibt einen Zeichenfolgenwert zurück, der den lokalen Benutzer-ID-Wert angibt.
Führen Sie eine Aktion mit der Gruppe durch.
PrincipalSearchFilter
, indem Sie den Konstruktor verwenden.PrincipalSearchFilter
-Methode des Objekts setUserId
aufrufen. Übergeben Sie einen Zeichenfolgenwert, der den Wert der Benutzerkennung darstellt.findPrincipals
-Methode des Objekts auf und übergeben Sie das PrincipalSearchFilter
-Objekt. DirectoryManagerServiceClient
Diese Methode gibt eine java.util.List
-Instanz zurück, wobei jedes Element ein User
-Objekt ist. Durchlaufen Sie die java.util.List
-Instanz, um den Benutzer zu suchen.DirectoryManagerServiceClient
-Objektmethode addPrincipalToLocalGroup
aufrufen. Übergeben Sie den Rückgabewert der User
-Methode des Objekts getOid
. Übergeben Sie den Rückgabewert der Group
-Methode des Objekts getOid
(verwenden Sie die Group
-Instanz, die die neue Gruppe darstellt).Siehe auch
Einbeziehung von AEM Forms Java-Bibliotheksdateien
Verbindungseigenschaften festlegen
In diesem Thema wird beschrieben, wie Sie Domänen, Abfragen und Benutzergruppen programmgesteuert zuweisen, entfernen und zur verwenden können (Java).
Beim Konfigurieren einer Domäne müssen Sie den eindeutigen Bezeichner für Gruppen und Benutzer festlegen. Das ausgewählte Attribut muss nicht nur innerhalb der LDAP-Umgebung eindeutig sein, sondern muss auch unveränderlich sein und darf sich nicht im Ordner ändern. Dieses Attribut muss auch ein einfacher Zeichenfolgendatentyp sein (die einzige Ausnahme, die derzeit für Active Directory 2000/2003 zulässig ist, ist "objectsid"
, ein binärer Wert). Das Novell eDirectory-Attribut "GUID"
ist beispielsweise kein einfacher String-Datentyp und funktioniert daher nicht.
"objectsid"
."nsuniqueid"
.Das Erstellen mehrerer lokaler Benutzer und Gruppen während der Synchronisierung des LDAP-Ordners wird nicht unterstützt. Wird dies dennoch versucht, können Fehler auftreten.
So verwalten Sie Benutzer und Gruppen:
Projektdateien einschließen
Schließen Sie die erforderlichen Dateien in Ihr Entwicklungsprojekt ein. Wenn Sie eine Clientanwendung mit Java erstellen, schließen Sie die erforderlichen JAR-Dateien ein. Wenn Sie Webdienste verwenden, stellen Sie sicher, dass Sie die Proxydateien einschließen.
Erstellen eines DirectoryManagerService-Clients
Bevor Sie einen Directory Manager-Dienstvorgang programmgesteuert durchführen können, müssen Sie einen Directory Manager-Dienstclient erstellen. Mit der Java-API wird dies erreicht, indem ein DirectoryManagerServiceClient
-Objekt erstellt wird. Mit der Webdienst-API wird dies durch Erstellen eines Objekts DirectoryManagerServiceService
erreicht.
Aufrufen der entsprechenden Benutzer- oder Gruppenvorgänge
Nachdem Sie den Dienstclient erstellt haben, können Sie die Benutzer- oder Gruppenverwaltungsvorgänge aufrufen. Mit dem Dienstclient können Sie Domänen, Benutzer und Abfragen zuweisen, entfernen und Gruppen zuweisen. Beachten Sie, dass es möglich ist, einer lokalen Gruppe entweder einen Ordnerprinzipal oder einen lokalen Prinzipal hinzuzufügen, es ist jedoch nicht möglich, einen lokalen Prinzipal zu einer Ordnergruppe hinzuzufügen.
Siehe auch
Verwalten von Benutzern und Gruppen mithilfe der Java-API
Verwalten von Benutzern und Gruppen mithilfe der Webdienst-API
Einbeziehung von AEM Forms Java-Bibliotheksdateien
Verbindungseigenschaften festlegen
So verwalten Sie Benutzer, Gruppen und Domänen programmgesteuert mit Java:
Schließen Sie Projektdateien ein.
Schließen Sie Client-JAR-Dateien wie "adobe-usermanager-client.jar"im Klassenpfad Ihres Java-Projekts ein. Weitere Informationen über den Speicherort dieser Dateien finden Sie unter Einbeziehung von AEM Forms Java-Bibliotheksdateien.
Erstellen Sie einen DirectoryManagerService-Client.
Erstellen Sie ein DirectoryManagerServiceClient
-Objekt, indem Sie den Konstruktor verwenden und ein ServiceClientFactory
-Objekt übergeben, das Verbindungseigenschaften enthält. Weitere Informationen finden Sie unter Verbindungseigenschaften festlegen .
Rufen Sie die entsprechenden Benutzer- oder Gruppenvorgänge auf.
Um einen Benutzer oder eine Gruppe zu suchen, rufen Sie eine der Methoden des Objekts DirectoryManagerServiceClient
auf, um Prinzipale zu finden (da Prinzipale ein Benutzer oder eine Gruppe sein können). Im folgenden Beispiel wird die findPrincipals
-Methode mit einem Suchfilter (einem PrincipalSearchFilter
-Objekt) aufgerufen.
Da der Rückgabewert in diesem Fall ein java.util.List
-Objekt mit Principal
-Objekten ist, durchlaufen Sie das Ergebnis und konvertieren Sie die Principal
-Objekte in entweder User
- oder Group
-Objekte.
Rufen Sie mithilfe des Zielobjekts User
oder Group
(das beide von der Principal
-Schnittstelle erben) die Informationen ab, die Sie in Ihrer Workflows benötigen. Beispielsweise können Domänennamen und kanonische Namenswerte in Kombination einen Prinzipal eindeutig identifizieren. Diese werden abgerufen, indem die Methoden Principal
des Objekts getDomainName
bzw. getCanonicalName
aufgerufen werden.
Um einen lokalen Benutzer zu löschen, rufen Sie die DirectoryManagerServiceClient
-Methode des Objekts deleteLocalUser
auf und übergeben Sie den Bezeichner des Benutzers.
Um eine lokale Gruppe zu löschen, rufen Sie die DirectoryManagerServiceClient
-Methode des Objekts deleteLocalGroup
auf und übergeben Sie die Kennung der Gruppe.
Siehe auch
Einbeziehung von AEM Forms Java-Bibliotheksdateien
Verbindungseigenschaften festlegen
Führen Sie die folgenden Aufgaben aus, um Benutzer, Gruppen und Domänen mit der Directory Manager-Dienst-API (Webdienst) programmgesteuert zu verwalten:
Schließen Sie Projektdateien ein.
Erstellen Sie einen DirectoryManagerService-Client.
Erstellen Sie ein DirectoryManagerServiceService
-Objekt mit dem Konstruktor der Proxyklasse.
Rufen Sie die entsprechenden Benutzer- oder Gruppenvorgänge auf.
Um einen Benutzer oder eine Gruppe zu suchen, rufen Sie eine der Methoden des Objekts DirectoryManagerServiceService
auf, um Prinzipale zu finden (da Prinzipale ein Benutzer oder eine Gruppe sein können). Im folgenden Beispiel wird die findPrincipalsWithFilter
-Methode mit einem Suchfilter (einem PrincipalSearchFilter
-Objekt) aufgerufen. Bei Verwendung eines PrincipalSearchFilter
-Objekts werden lokale Prinzipale nur zurückgegeben, wenn die isLocal
-Eigenschaft auf true
eingestellt ist. Dieses Verhalten unterscheidet sich von dem mit der Java-API.
Wenn die maximale Anzahl von Ergebnissen nicht im Suchfilter angegeben ist (über das Feld PrincipalSearchFilter.resultsMax
), werden maximal 1000 Ergebnisse zurückgegeben. Dieses Verhalten unterscheidet sich von dem, was mit der Java-API passiert, bei der 10 Ergebnisse das standardmäßige Maximum sind. Die Suchmethoden wie findGroupMembers
geben nur dann Ergebnisse zurück, wenn die maximale Anzahl von Ergebnissen im Suchfilter angegeben ist (z. B. über das Feld GroupMembershipSearchFilter.resultsMax
). Dies gilt für alle Filter, die von der GenericSearchFilter
-Klasse erben. Weitere Informationen finden Sie unter AEM Forms API Reference.
Da der Rückgabewert in diesem Fall ein object[]
-Objekt mit Principal
-Objekten ist, durchlaufen Sie das Ergebnis und konvertieren Sie die Principal
-Objekte in entweder User
- oder Group
-Objekte.
Rufen Sie mithilfe des Zielobjekts User
oder Group
(das beide von der Principal
-Schnittstelle erben) die Informationen ab, die Sie in Ihrer Workflows benötigen. Beispielsweise können Domänennamen und kanonische Namenswerte in Kombination einen Prinzipal eindeutig identifizieren. Diese werden abgerufen, indem die Felder Principal
des Objekts domainName
bzw. canonicalName
aufgerufen werden.
Um einen lokalen Benutzer zu löschen, rufen Sie die DirectoryManagerServiceService
-Methode des Objekts deleteLocalUser
auf und übergeben Sie den Bezeichner des Benutzers.
Um eine lokale Gruppe zu löschen, rufen Sie die DirectoryManagerServiceService
-Methode des Objekts deleteLocalGroup
auf und übergeben Sie die Kennung der Gruppe.
Siehe auch
Aufrufen von AEM Forms mit MTOM
In diesem Thema wird beschrieben, wie Sie mit der Autorisierungs-Manager-Dienst-API (Java) Rollen und Berechtigungen programmgesteuert zuweisen, entfernen und festlegen können.
Unter AEM Forms ist eine role eine Gruppe von Berechtigungen für den Zugriff auf eine oder mehrere Ressourcen auf Systemebene. Diese Berechtigungen werden über User Management erstellt und von den Dienstkomponenten erzwungen. Beispielsweise könnte ein Administrator einer Benutzergruppe die Rolle "Richtliniensatzautor"zuweisen. Rights Management würde es dann den Benutzern dieser Gruppe mit dieser Rolle ermöglichen, Richtliniensätze über Administration Console zu erstellen.
Es gibt zwei Arten von Rollen: Standardrollen und benutzerdefinierte Rollen. Standardrollen (Systemrollen) befinden sich bereits in AEM Forms. Es wird davon ausgegangen, dass Standardrollen vom Administrator möglicherweise nicht gelöscht oder geändert werden und daher unveränderlich sind. Benutzerdefinierte Rollen, die vom Administrator erstellt wurden und die dann geändert oder gelöscht werden können, sind somit veränderlich.
Rollen erleichtern die Verwaltung von Berechtigungen. Wenn einem Prinzipal eine Rolle zugewiesen wird, wird diesem Prinzipal automatisch eine Reihe von Berechtigungen zugewiesen, und alle spezifischen Entscheidungen zum Zugriff für den Prinzipal basieren auf dieser Gesamtzahl zugewiesener Berechtigungen.
So verwalten Sie Rollen und Berechtigungen:
Projektdateien einschließen
Schließen Sie die erforderlichen Dateien in Ihr Entwicklungsprojekt ein. Wenn Sie eine Clientanwendung mit Java erstellen, schließen Sie die erforderlichen JAR-Dateien ein. Wenn Sie Webdienste verwenden, stellen Sie sicher, dass Sie die Proxydateien einschließen.
Erstellen eines AuthorizationManagerService-Clients
Bevor Sie einen User Management AuthorizationManagerService-Vorgang programmgesteuert durchführen können, müssen Sie einen AuthorizationManagerService-Client erstellen. Mit der Java-API wird dies erreicht, indem ein AuthorizationManagerServiceClient
-Objekt erstellt wird.
Aufrufen der entsprechenden Rollen- oder Berechtigungsvorgänge
Nachdem Sie den Dienstclient erstellt haben, können Sie die Rollen- oder Berechtigungsvorgänge aufrufen. Mit dem Dienstclient können Sie Rollen und Berechtigungen zuweisen, entfernen und festlegen.
Siehe auch
Rollen und Berechtigungen mithilfe der Java-API verwalten
Rollen und Berechtigungen mithilfe der Webdienst-API verwalten
Einbeziehung von AEM Forms Java-Bibliotheksdateien
Verbindungseigenschaften festlegen
Führen Sie die folgenden Aufgaben aus, um Rollen und Berechtigungen mithilfe der Authorization Manager-Dienst-API (Java) zu verwalten:
Schließen Sie Projektdateien ein.
Schließen Sie Client-JAR-Dateien wie "adobe-usermanager-client.jar"im Klassenpfad Ihres Java-Projekts ein.
Erstellen Sie einen AuthorizationManagerService-Client.
Erstellen Sie ein AuthorizationManagerServiceClient
-Objekt, indem Sie den Konstruktor verwenden und ein ServiceClientFactory
-Objekt übergeben, das Verbindungseigenschaften enthält.
Rufen Sie die entsprechenden Rollen- oder Berechtigungsvorgänge auf.
Um einem Prinzipal eine Rolle zuzuweisen, rufen Sie die AuthorizationManagerServiceClient
-Methode des Objekts assignRole
auf und übergeben Sie die folgenden Werte:
java.lang.String
-Objekt, das die Rollenkennung enthältjava.lang.String
-Objekten, die die Hauptkennungen enthalten.Um eine Rolle aus einem Prinzipal zu entfernen, rufen Sie die AuthorizationManagerServiceClient
-Methode des Objekts unassignRole
auf und übergeben Sie die folgenden Werte:
java.lang.String
-Objekt, das die Rollenkennung enthält.java.lang.String
-Objekten, die die Hauptkennungen enthalten.Siehe auch
Quick Beginn (SOAP-Modus): Rollen und Berechtigungen mithilfe der Java-API verwalten
Einbeziehung von AEM Forms Java-Bibliotheksdateien
Verbindungseigenschaften festlegen
Rollen und Berechtigungen mithilfe der Authorization Manager-Dienst-API (Webdienst) verwalten:
Schließen Sie Projektdateien ein.
Erstellen Sie ein Microsoft .NET-Projekt, das MTOM verwendet. Stellen Sie sicher, dass Sie die folgende WSDL-Definition verwenden: http://localhost:8080/soap/services/AuthorizationManagerService?WSDL&lc_version=9.0.1
.
Ersetzen Sie localhost
durch die IP-Adresse des Servers, auf dem AEM Forms gehostet wird.
Erstellen Sie einen AuthorizationManagerService-Client.
Erstellen Sie ein AuthorizationManagerServiceClient
-Objekt mit dem Standardkonstruktor.
Erstellen Sie ein AuthorizationManagerServiceClient.Endpoint.Address
-Objekt mit dem Konstruktor System.ServiceModel.EndpointAddress
. Übergeben Sie einen Zeichenfolgenwert, der die WSDL an den AEM Forms-Dienst angibt (z. B. http://localhost:8080/soap/services/AuthorizationManagerService?blob=mtom
). Sie müssen das Attribut lc_version
nicht verwenden. Dieses Attribut wird verwendet, wenn Sie eine Dienstreferenz erstellen.
Erstellen Sie ein System.ServiceModel.BasicHttpBinding
-Objekt, indem Sie den Wert des Felds AuthorizationManagerServiceClient.Endpoint.Binding
abrufen. Wandeln Sie den Rückgabewert in BasicHttpBinding
um.
Setzen Sie das Feld System.ServiceModel.BasicHttpBinding
des Objekts auf MessageEncoding
. WSMessageEncoding.Mtom
Dieser Wert stellt sicher, dass MTOM verwendet wird.
Aktivieren Sie die einfache HTTP-Authentifizierung, indem Sie die folgenden Aufgaben ausführen:
AuthorizationManagerServiceClient.ClientCredentials.UserName.UserName
den AEM Forms-Benutzernamen zu.AuthorizationManagerServiceClient.ClientCredentials.UserName.Password
den entsprechenden Kennwortwert zu.BasicHttpBindingSecurity.Transport.ClientCredentialType
den Konstantenwert HttpClientCredentialType.Basic
zu.BasicHttpBindingSecurity.Security.Mode
den Konstantenwert BasicHttpSecurityMode.TransportCredentialOnly
zu.Rufen Sie die entsprechenden Rollen- oder Berechtigungsvorgänge auf.
Um einem Prinzipal eine Rolle zuzuweisen, rufen Sie die AuthorizationManagerServiceClient
-Methode des Objekts assignRole
auf und übergeben Sie die folgenden Werte:
string
-Objekt, das die Rollenkennung enthältMyArrayOf_xsd_string
-Objekt, das die Hauptkennungen enthält.Um eine Rolle aus einem Prinzipal zu entfernen, rufen Sie die AuthorizationManagerServiceService
-Methode des Objekts unassignRole
auf und übergeben Sie die folgenden Werte:
string
-Objekt, das die Rollenkennung enthält.string
-Objekten, die die Hauptkennungen enthalten.Siehe auch
Aufrufen von AEM Forms mit MTOM
In diesem Thema wird beschrieben, wie Sie mit der Authentication Manager Service API (Java) die programmgesteuerte Authentifizierung von Benutzern durch Clientanwendungen aktivieren können.
Die Benutzerauthentifizierung ist ggf. erforderlich, um mit einer Unternehmensdatenbank oder anderen Enterprise-Repositorys zu interagieren, die sichere Daten speichern.
Beispiel: Ein Benutzer gibt einen Benutzernamen und ein Kennwort auf einer Webseite ein und sendet die Werte an einen J2EE-Anwendungsserver, auf dem Forms gehostet wird. Eine benutzerdefinierte Forms-Anwendung kann den Benutzer mit dem Authentication Manager-Dienst authentifizieren.
Bei erfolgreicher Authentifizierung greift die Anwendung auf eine gesicherte Unternehmensdatenbank zu. Andernfalls wird eine Meldung gesendet, dass der Benutzer kein autorisierter Benutzer ist.
Das folgende Diagramm zeigt den logischen Ablauf der Anwendung.
Die folgende Tabelle beschreibt die Schritte in diesem Diagramm
Schritt |
Beschreibung |
---|---|
1 |
Der Benutzer greift auf eine Website zu und gibt einen Benutzernamen und ein Kennwort an. Diese Informationen werden an einen J2EE-Anwendungsserver übermittelt, der als Host für AEM Forms dient. |
2 |
Die Benutzeranmeldeinformationen werden beim Authentication Manager-Dienst authentifiziert. Wenn die Benutzerberechtigungen gültig sind, fährt der Workflow mit Schritt 3 fort. Andernfalls wird eine Meldung gesendet, dass der Benutzer kein autorisierter Benutzer ist. |
1 |
Benutzerinformationen und Formularentwürfe werden aus einer gesicherten Unternehmensdatenbank abgerufen. |
4 |
Benutzerinformationen werden mit einem Formularentwurf zusammengeführt und das Formular wird dem Benutzer wiedergegeben. |
So authentifizieren Sie einen Benutzer programmatisch:
Projektdateien einschließen
Schließen Sie die erforderlichen Dateien in Ihr Entwicklungsprojekt ein. Wenn Sie eine Clientanwendung mit Java erstellen, schließen Sie die erforderlichen JAR-Dateien ein. Wenn Sie Webdienste verwenden, stellen Sie sicher, dass Sie die Proxydateien einschließen.
Erstellen eines AuthenticationManagerService-Clients
Bevor Sie einen Benutzer programmgesteuert authentifizieren können, müssen Sie einen AuthenticationManagerService-Client erstellen. Wenn Sie die Java-API verwenden, erstellen Sie ein AuthenticationManagerServiceClient
-Objekt.
Authentifizierungsvorgang aufrufen
Nachdem Sie den Dienstclient erstellt haben, können Sie den Authentifizierungsvorgang aufrufen. Dieser Vorgang erfordert Informationen zum Benutzer, z. B. den Namen und das Kennwort des Benutzers. Wenn der Benutzer sich nicht authentifiziert, wird eine Ausnahme ausgelöst.
Authentifizierungskontext abrufen
Nachdem Sie den Benutzer authentifiziert haben, können Sie einen Kontext erstellen, der auf dem authentifizierten Benutzer basiert. Anschließend können Sie mit den Inhalten weitere AEM Forms-Dienste aufrufen. Sie können beispielsweise den Kontext verwenden, um ein EncryptionServiceClient
zu erstellen und ein PDF-Dokument mit einem Kennwort zu verschlüsseln. Stellen Sie sicher, dass der authentifizierte Benutzer die Rolle Services User
hat, die zum Aufrufen eines AEM Forms-Dienstes erforderlich ist.
Siehe auch
Einbeziehung von AEM Forms Java-Bibliotheksdateien
Verbindungseigenschaften festlegen
PDF-Dokumente mit einem Kennwort verschlüsseln
Authentifizieren Sie einen Benutzer mit der Authentication Manager Service API (Java):
Schließen Sie Projektdateien ein.
Schließen Sie Client-JAR-Dateien wie "adobe-usermanager-client.jar"im Klassenpfad Ihres Java-Projekts ein.
Erstellen Sie einen AuthenticationManagerServices-Client.
Erstellen Sie ein AuthenticationManagerServiceClient
-Objekt, indem Sie den Konstruktor verwenden und ein ServiceClientFactory
-Objekt übergeben, das Verbindungseigenschaften enthält.
Rufen Sie den Authentifizierungsvorgang auf.
Rufen Sie die authenticate
-Methode des Objekts auf und übergeben Sie die folgenden Werte:AuthenticationManagerServiceClient
java.lang.String
-Objekt, das den Namen des Benutzers enthält.byte[]
-Objekt), das das Kennwort des Benutzers enthält. Sie können das byte[]
-Objekt abrufen, indem Sie die java.lang.String
-Methode des Objekts getBytes
aufrufen.Die Methode authentication gibt ein AuthResult
-Objekt zurück, das Informationen zum authentifizierten Benutzer enthält.
Rufen Sie den Authentifizierungskontext ab.
Rufen Sie die getContext
-Methode des Objekts auf, die ein Context
-Objekt zurückgibt.ServiceClientFactory
Rufen Sie dann die Context
-Methode des Objekts initPrincipal
auf und übergeben Sie AuthResult
.
Authentifizieren Sie einen Benutzer mit der Authentication Manager-Dienst-API (Webdienst):
Schließen Sie Projektdateien ein.
Erstellen Sie einen AuthenticationManagerService-Client.
Erstellen Sie ein AuthenticationManagerServiceService
-Objekt mit dem Konstruktor der Proxyklasse.
Rufen Sie den Authentifizierungsvorgang auf.
Rufen Sie die authenticate
-Methode des Objekts auf und übergeben Sie die folgenden Werte:AuthenticationManagerServiceClient
string
-Objekt, das den Namen des Benutzers enthältbyte[]
-Objekt), das das Kennwort des Benutzers enthält. Sie können das byte[]
-Objekt abrufen, indem Sie ein string
-Objekt, das das Kennwort enthält, in ein byte[]
-Array konvertieren, indem Sie die im folgenden Beispiel dargestellte Logik verwenden.AuthResult
-Objekt, mit dem Informationen zum Benutzer abgerufen werden können. Im unten stehenden Beispiel werden die Informationen des Benutzers abgerufen, indem zunächst das AuthResult
-Objektfeld authenticatedUser
abgerufen und anschließend die Felder User
des Objekts canonicalName
und domainName
abgerufen werden.Siehe auch
Aufrufen von AEM Forms mit MTOM
Aufrufen von AEM Forms mit SwaRef
Sie können Benutzer mithilfe der User Management-API programmgesteuert synchronisieren. Wenn Sie Benutzer synchronisieren, aktualisieren Sie AEM Forms mit Benutzerdaten, die sich im Benutzerrepository befinden. Angenommen, Sie fügen Ihrem Benutzerrepository neue Benutzer hinzu. Nachdem Sie einen Synchronisierungsvorgang durchgeführt haben, werden die neuen Benutzer zu AEM Formularbenutzern. Außerdem werden Benutzer, die sich nicht mehr in Ihrer Benutzerrolle befinden, aus AEM Forms entfernt.
Das folgende Diagramm zeigt die Synchronisierung AEM Forms mit einem Benutzerverantwortlichen.
Die folgende Tabelle beschreibt die Schritte in diesem Diagramm
Schritt |
Beschreibung |
---|---|
1 |
Eine Clientanwendung fordert von AEM Forms einen Synchronisierungsvorgang an. |
2 |
AEM Forms führt einen Synchronisierungsvorgang durch. |
1 |
Benutzerinformationen werden aktualisiert. |
4 |
Ein Benutzer kann die aktualisierten Benutzerinformationen Ansicht haben. |
So synchronisieren Sie Benutzer programmgesteuert:
Projektdateien einschließen
Schließen Sie die erforderlichen Dateien in Ihr Entwicklungsprojekt ein. Wenn Sie eine Clientanwendung mit Java erstellen, schließen Sie die erforderlichen JAR-Dateien ein. Wenn Sie Webdienste verwenden, stellen Sie sicher, dass Sie die Proxydateien einschließen.
UserManagerUtilServiceClient erstellen
Bevor Sie Benutzer programmgesteuert synchronisieren können, müssen Sie ein UserManagerUtilServiceClient
-Objekt erstellen.
Unternehmensdomäne angeben
Bevor Sie einen Synchronisierungsvorgang mit der User Management-API durchführen, geben Sie die Unternehmensdomäne an, zu der die Benutzer gehören. Sie können eine oder mehrere Unternehmensdomänen angeben. Bevor Sie einen Synchronisierungsvorgang programmgesteuert durchführen können, müssen Sie eine Unternehmensdomäne mit Administration Console einrichten. (Siehe Administration help.)
Synchronisierungsvorgang aufrufen
Nachdem Sie eine oder mehrere Unternehmensdomänen angegeben haben, können Sie den Synchronisierungsvorgang durchführen. Die für die Durchführung dieses Vorgangs benötigte Zeit hängt von der Anzahl der Benutzerdatensätze ab, die sich im Benutzerrepository befinden.
Überprüfen Sie, ob der Synchronisierungsvorgang abgeschlossen ist.
Nachdem Sie einen Synchronisierungsvorgang programmgesteuert durchgeführt haben, können Sie feststellen, ob der Vorgang abgeschlossen ist.
Siehe auch
Einbeziehung von AEM Forms Java-Bibliotheksdateien
Verbindungseigenschaften festlegen
PDF-Dokumente mit einem Kennwort verschlüsseln
Synchronisieren Sie Benutzer mithilfe der User Management API (Java):
Schließen Sie Projektdateien ein.
Schließen Sie Client-JAR-Dateien wie "adobe-usermanager-client.jar"und "adobe-usermanager-util-client.jar"im Klassenpfad Ihres Java-Projekts ein.
Erstellen Sie einen UserManagerUtilServiceClient-Client.
Erstellen Sie ein UserManagerUtilServiceClient
-Objekt, indem Sie den Konstruktor verwenden und ein ServiceClientFactory
-Objekt übergeben, das Verbindungseigenschaften enthält.
Geben Sie die Unternehmensdomäne an.
scheduleSynchronization
-Methode des Objekts auf, um den Benutzersynchronisierungsvorgang Beginn.UserManagerUtilServiceClient
java.util.Set
-Instanz mit einem HashSet
-Konstruktor. Stellen Sie sicher, dass Sie String
als Datentyp angeben. Diese Java.util.Set
-Instanz speichert die Domänennamen, für die der Synchronisierungsvorgang gilt.java.util.Set
auf und übergeben Sie den Domänennamen.Rufen Sie den Synchronisierungsvorgang auf.
Rufen Sie die getContext
-Methode des Objekts auf, die ein Context
-Objekt zurückgibt.ServiceClientFactory
Rufen Sie dann die Context
-Methode des Objekts initPrincipal
auf und übergeben Sie AuthResult
.
Siehe auch
Programmgesteuertes Synchronisieren von Benutzern