Les exemples et exemples de ce document ne concernent que l’environnement AEM Forms on JEE.
À propos de User Management
Vous pouvez utiliser l’API User Management pour créer des applications clientes capables de gérer des rôles, des autorisations et des entités (qui peuvent être des utilisateurs ou des groupes), ainsi que d’authentifier des utilisateurs. L’API User Management se compose des API AEM Forms suivantes :
User Management vous permet d’attribuer, de supprimer et de déterminer des rôles et des autorisations. Il vous permet également d’attribuer, de supprimer et de requête des domaines, des utilisateurs et des groupes. Enfin, vous pouvez utiliser User Management pour authentifier les utilisateurs.
Dans Ajouter Utilisateurs, vous comprendrez comment ajouter des utilisateurs par programmation. Cette section utilise l’API du service Directory Manager.
Dans Suppression d’utilisateurs, vous comprendrez comment supprimer des utilisateurs par programmation. Cette section utilise l’API du service Directory Manager.
Dans Gestion des utilisateurs et des groupes, vous comprendrez la différence entre un utilisateur local et un utilisateur d'annuaire et vous verrez des exemples d'utilisation des API Java et des services Web pour gérer par programmation les utilisateurs et les groupes. Cette section utilise l’API du service Directory Manager.
Dans Gestion des rôles et des autorisations, vous découvrirez les rôles et autorisations du système et ce que vous pouvez faire par programmation pour les améliorer, et vous verrez des exemples d'utilisation des API Java et des services Web pour gérer par programmation les rôles et les autorisations. Cette section utilise à la fois l’API Service du Gestionnaire d’annuaires et l’API Service du Gestionnaire d’autorisations.
Dans Authentification des utilisateurs, vous verrez des exemples d'utilisation des API Java et des API de services Web pour authentifier les utilisateurs par programmation. Cette section utilise l’API Service du Gestionnaire d’autorisations.
Présentation du processus d'authentification
User Management offre une fonctionnalité d’authentification intégrée et vous permet également de la connecter à votre propre fournisseur d’authentification. Lorsque User Management reçoit une demande d’authentification (par exemple, un utilisateur tente de se connecter), il transmet les informations utilisateur au fournisseur d’authentification pour authentification. User Management reçoit les résultats du fournisseur d’authentification après l’authentification de l’utilisateur.
Le diagramme suivant montre l'interaction entre un utilisateur final qui tente de se connecter, User Management et le fournisseur d'authentification.
Le tableau suivant décrit chaque étape du processus d’authentification.
Étape |
Description |
---|---|
1 |
Un utilisateur tente de se connecter à un service qui appelle User Management. L’utilisateur spécifie un nom d’utilisateur et un mot de passe. |
2 |
User Management envoie le nom d’utilisateur et le mot de passe, ainsi que les informations de configuration, au fournisseur d’authentification. |
3 |
Le fournisseur d’authentification se connecte au magasin d’utilisateurs et authentifie l’utilisateur. |
4 |
Le fournisseur d’authentification renvoie les résultats à User Management. |
5 |
User Management permet à l’utilisateur de se connecter ou refuse l’accès au produit. |
Si le fuseau horaire du serveur est différent du fuseau horaire du client, lorsque vous utilisez le fichier WSDL pour le service AEM Forms Generate PDF sur une pile SOAP native utilisant un client .NET sur une grappe WebSphere Application Server, l’erreur d’authentification User Management suivante peut se produire :
[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).
Présentation de la gestion des répertoires
User Management est fourni avec un prestataire d’annuaire (DirectoryManagerService) qui prend en charge les connexions aux annuaires LDAP. Si votre entreprise utilise un référentiel non LDAP pour stocker les enregistrements d’utilisateurs, vous pouvez créer votre propre prestataire d’annuaire qui fonctionne avec votre référentiel.
Les prestataires d’annuaire récupèrent les enregistrements d’un magasin d’utilisateurs à la demande de User Management. User Management met régulièrement en cache les enregistrements d’utilisateurs et de groupes dans la base de données afin d’améliorer les performances.
Le prestataire d’annuaire peut être utilisé pour synchroniser la base de données User Management avec la banque d’utilisateurs. Cette étape permet de s’assurer que toutes les informations d’annuaire des utilisateurs et tous les enregistrements d’utilisateurs et de groupes sont à jour.
En outre, DirectoryManagerService vous permet de créer et de gérer des domaines. Les domaines définissent différentes bases d’utilisateurs. Les limites d’un domaine sont généralement définies en fonction de la manière dont votre organisation est structurée ou dont votre magasin d’utilisateurs est configuré. Les domaines User Management fournissent des paramètres de configuration que les fournisseurs d’authentification et les prestataires d’annuaire utilisent.
Dans la configuration XML exportée par User Management, le noeud racine dont la valeur d’attribut est Domains
contient un élément XML pour chaque domaine défini pour User Management. Chacun de ces éléments contient d’autres éléments qui définissent les aspects du domaine associés à des prestataires spécifiques.
Présentation des valeurs objectSID
Lors de l'utilisation de Principale Directory, il est important de comprendre qu'une valeur objectSID
n'est pas un attribut unique sur plusieurs domaines. Cette valeur stocke l’identifiant de sécurité d’un objet. Dans un environnement de plusieurs domaines (par exemple, une arborescence de domaines), la valeur objectSID
peut être différente.
Une valeur objectSID
changerait si un objet est déplacé d'un domaine Principale Directory vers un autre. Certains objets ont la même valeur objectSID
n’importe où dans le domaine. Par exemple, les groupes tels que BUILTIN\Administrators, BUILTIN\Power Users, etc., auraient la même valeur objectSID
indépendamment des domaines. Ces valeurs objectSID
sont bien connues.
Vous pouvez utiliser l’API Service Directory Manager (Java et le service Web) pour ajouter des utilisateurs par programmation à AEM Forms. Après avoir ajouté un utilisateur, vous pouvez l’utiliser lors d’une opération de service nécessitant un utilisateur. Par exemple, vous pouvez affecter une tâche au nouvel utilisateur.
Pour ajouter un utilisateur, procédez comme suit :
Inclure les fichiers de projet
Incluez les fichiers nécessaires dans votre projet de développement. Si vous créez une application cliente à l’aide de Java, incluez les fichiers JAR nécessaires. Si vous utilisez des services Web, incluez les fichiers proxy.
Création d’un client DirectoryManagerService
Avant de pouvoir exécuter une opération de service Directory Manager par programmation, créez un client API de service Directory Manager.
Définition des informations utilisateur
Lorsque vous ajoutez un nouvel utilisateur à l’aide de l’API Service Directory Manager, définissez les informations de cet utilisateur. En règle générale, lorsque vous ajoutez un nouvel utilisateur, vous définissez les valeurs suivantes :
DefaultDom
).wblue
).USER)
.Wendy
).Blue)
.Ajouter l'utilisateur à AEM Forms
Après avoir défini les informations utilisateur, vous pouvez ajouter l’utilisateur à AEM Forms. Pour ajouter un utilisateur, appelez la méthode DirectoryManagerServiceClient
de l’objet createLocalUser
.
Vérification de l’ajout de l’utilisateur
Vous pouvez vérifier que l’utilisateur a été ajouté pour vous assurer qu’aucun problème n’est survenu. Localisez le nouvel utilisateur à l’aide de la valeur d’identificateur d’utilisateur.
Voir également
Ajouter les utilisateurs à l’aide de l’API Java
Ajouter les utilisateurs à l’aide de l’API du service Web
Inclusion des fichiers de bibliothèque Java AEM Forms
Réglage des propriétés de la connexion
Ajoutez les utilisateurs à l’aide de l’API Service Directory Manager (Java) :
Incluez des fichiers de projet.
Incluez des fichiers JAR client, tels que adobe-usermanager-client.jar, dans le chemin de classe de votre projet Java.
Créez un client DirectoryManagerServices.
Créez un objet DirectoryManagerServiceClient
en utilisant son constructeur et en transmettant un objet ServiceClientFactory
contenant des propriétés de connexion.
Définissez les informations utilisateur.
UserImpl
en utilisant son constructeur.setDomainName
de l'objet UserImpl
. Transmettez une valeur de chaîne qui spécifie le nom de domaine.setPrincipalType
de l’objet UserImpl
. Transmettez une valeur de chaîne qui spécifie le type d’utilisateur. Par exemple, vous pouvez spécifier USER
.setUserid
de l’objet UserImpl
. Transmettez une valeur de chaîne qui spécifie la valeur de l’identifiant utilisateur. Par exemple, vous pouvez spécifier wblue
.UserImpl
de l’objet setCanonicalName
. Transmettez une valeur de chaîne qui spécifie le nom canonique de l’utilisateur. Par exemple, vous pouvez spécifier wblue
.UserImpl
de l’objet setGivenName
. Transmettez une valeur de chaîne qui spécifie le prénom de l’utilisateur. Par exemple, vous pouvez spécifier Wendy
.setFamilyName
de l’objet UserImpl
. Transmettez une valeur de chaîne qui spécifie le nom de famille de l’utilisateur. Par exemple, vous pouvez spécifier Blue
.Appelez une méthode qui appartient à l'objet UserImpl
pour définir d'autres valeurs. Par exemple, vous pouvez définir la valeur du paramètre régional en appelant la méthode UserImpl
de l’objet setLocale
.
Ajoutez l’utilisateur à AEM Forms.
Appelez la méthode createLocalUser
de l’objet DirectoryManagerServiceClient
et transmettez les valeurs suivantes :
UserImpl
représentant le nouvel utilisateurLa méthode createLocalUser
renvoie une valeur de chaîne qui spécifie la valeur de l'identifiant utilisateur local.
Vérifiez que l’utilisateur a été ajouté.
PrincipalSearchFilter
en utilisant son constructeur.setUserId
de l’objet PrincipalSearchFilter
. Transmettez une valeur de chaîne qui représente la valeur de l’identifiant utilisateur.DirectoryManagerServiceClient
de l'objet findPrincipals
et transmettez l'objet PrincipalSearchFilter
. Cette méthode renvoie une instance java.util.List
, où chaque élément est un objet User
. Effectuez une itération sur l'instance java.util.List
pour localiser l'utilisateur.Voir également
Début rapide (mode SOAP) : Ajouter les utilisateurs à l’aide de l’API Java
Inclusion des fichiers de bibliothèque Java AEM Forms
Réglage des propriétés de la connexion
Ajoutez les utilisateurs à l’aide de l’API Service Directory Manager (service Web) :
Incluez des fichiers de projet.
Créez un projet Microsoft .NET qui utilise MTOM. Veillez à utiliser la définition WSDL suivante pour la référence de service : http://localhost:8080/soap/services/DirectoryManagerService?WSDL&lc_version=9.0.1
.
Remplacez localhost
par l’adresse IP du serveur hébergeant AEM Forms.
Créez un client DirectoryManagerService.
Créez un objet DirectoryManagerServiceClient
en utilisant son constructeur par défaut.
Créez un objet DirectoryManagerServiceClient.Endpoint.Address
en utilisant le constructeur System.ServiceModel.EndpointAddress
. Transmettez une valeur de chaîne qui spécifie le WSDL au service AEM Forms (par exemple, http://localhost:8080/soap/services/DirectoryManagerService?blob=mtom
). Vous n'avez pas besoin d'utiliser l'attribut lc_version
. Cet attribut est utilisé lorsque vous créez une référence de service. Veillez à spécifier ?blob=mtom
.
Créez un objet System.ServiceModel.BasicHttpBinding
en obtenant la valeur du champ DirectoryManagerServiceClient.Endpoint.Binding
. Convertissez la valeur de retour en BasicHttpBinding
.
Définissez le champ MessageEncoding
de l’objet System.ServiceModel.BasicHttpBinding
sur WSMessageEncoding.Mtom
. Cette valeur garantit l’utilisation de MTOM.
Activez l’authentification HTTP de base en exécutant les tâches suivantes :
DirectoryManagerServiceClient.ClientCredentials.UserName.UserName
.DirectoryManagerServiceClient.ClientCredentials.UserName.Password
.HttpClientCredentialType.Basic
au champ BasicHttpBindingSecurity.Transport.ClientCredentialType
.BasicHttpSecurityMode.TransportCredentialOnly
au champ BasicHttpBindingSecurity.Security.Mode
.Définissez les informations utilisateur.
UserImpl
en utilisant son constructeur.UserImpl
de l’objet domainName
.UserImpl
de l’objet principalType
. Par exemple, vous pouvez spécifier USER
.UserImpl
de l’objet userid
.UserImpl
de l’objet canonicalName
.UserImpl
de l’objet givenName
.UserImpl
de l’objet familyName
.Ajoutez l’utilisateur à AEM Forms.
Appelez la méthode createLocalUser
de l’objet DirectoryManagerServiceClient
et transmettez les valeurs suivantes :
UserImpl
représentant le nouvel utilisateurLa méthode createLocalUser
renvoie une valeur de chaîne qui spécifie la valeur de l'identifiant utilisateur local.
Vérifiez que l’utilisateur a été ajouté.
PrincipalSearchFilter
en utilisant son constructeur.PrincipalSearchFilter
de l’objet userId
.DirectoryManagerServiceClient
de l'objet findPrincipals
et transmettez l'objet PrincipalSearchFilter
. Cette méthode renvoie un objet de collection MyArrayOfUser
, où chaque élément est un objet User
. Effectuez une itération dans la collection MyArrayOfUser
pour localiser l’utilisateur.Voir également
Appel de AEM Forms à l’aide de MTOM
Appel de AEM Forms à l’aide de SwaRef
Vous pouvez utiliser l’API Service Directory Manager (Java et le service Web) pour supprimer par programmation des utilisateurs d’AEM Forms. Après avoir supprimé un utilisateur, il ne peut plus être utilisé pour effectuer une opération de service nécessitant un utilisateur. Par exemple, vous ne pouvez pas affecter une tâche à un utilisateur supprimé.
Pour supprimer un utilisateur, procédez comme suit :
Inclure les fichiers de projet
Incluez les fichiers nécessaires dans votre projet de développement. Si vous créez une application cliente à l’aide de Java, incluez les fichiers JAR nécessaires. Si vous utilisez des services Web, incluez les fichiers proxy.
Création d’un client DirectoryManagerService
Avant de pouvoir exécuter par programmation une opération d’API de service Directory Manager, créez un client de service Directory Manager.
Spécifier l'utilisateur à supprimer
Vous pouvez spécifier un utilisateur à supprimer à l’aide de la valeur d’identificateur de l’utilisateur.
Supprimer l'utilisateur d'AEM Forms
Pour supprimer un utilisateur, appelez la méthode DirectoryManagerServiceClient
de l’objet deleteLocalUser
.
Voir également
Suppression d’utilisateurs à l’aide de l’API Java
Suppression d’utilisateurs à l’aide de l’API de service Web
Inclusion des fichiers de bibliothèque Java AEM Forms
Réglage des propriétés de la connexion
Supprimez des utilisateurs à l’aide de l’API Service Directory Manager (Java) :
Incluez des fichiers de projet.
Incluez des fichiers JAR client, tels que adobe-usermanager-client.jar, dans le chemin de classe de votre projet Java.
Créez un client DirectoryManagerService.
Créez un objet DirectoryManagerServiceClient
en utilisant son constructeur et en transmettant un objet ServiceClientFactory
contenant des propriétés de connexion.
Indiquez l’utilisateur à supprimer.
PrincipalSearchFilter
en utilisant son constructeur.setUserId
de l’objet PrincipalSearchFilter
. Transmettez une valeur de chaîne qui représente la valeur de l’identifiant utilisateur.DirectoryManagerServiceClient
de l'objet findPrincipals
et transmettez l'objet PrincipalSearchFilter
. Cette méthode renvoie une instance java.util.List
, où chaque élément est un objet User
. Effectuez une itération sur l'instance java.util.List
pour localiser l'utilisateur à supprimer.Supprimez l’utilisateur de AEM Forms.
Appelez la méthode deleteLocalUser
de l’objet DirectoryManagerServiceClient
et transmettez la valeur du champ User
de l’objet oid
. Appelez la méthode User
de l’objet getOid
. Utilisez l'objet User
récupéré de l'instance java.util.List
.
Voir également
Début rapide (mode EJB) : Suppression d’utilisateurs à l’aide de l’API Java
Début rapide (mode SOAP) : Suppression d’utilisateurs à l’aide de l’API Java
Inclusion des fichiers de bibliothèque Java AEM Forms
Réglage des propriétés de la connexion
Supprimez des utilisateurs à l’aide de l’API Service Directory Manager (service Web) :
Incluez des fichiers de projet.
Incluez des fichiers JAR client, tels que adobe-usermanager-client.jar, dans le chemin de classe de votre projet Java.
Créez un client DirectoryManagerService.
Créez un objet DirectoryManagerServiceClient
en utilisant son constructeur par défaut.
Créez un objet DirectoryManagerServiceClient.Endpoint.Address
en utilisant le constructeur System.ServiceModel.EndpointAddress
. Transmettez une valeur de chaîne qui spécifie le WSDL au service AEM Forms (par exemple, http://localhost:8080/soap/services/DirectoryManagerService?blob=mtom
). Vous n'avez pas besoin d'utiliser l'attribut lc_version
. Cet attribut est utilisé lorsque vous créez une référence de service. Veillez à spécifier blob=mtom.
Créez un objet System.ServiceModel.BasicHttpBinding
en obtenant la valeur du champ DirectoryManagerServiceClient.Endpoint.Binding
. Convertissez la valeur de retour en BasicHttpBinding
.
Définissez le champ MessageEncoding
de l’objet System.ServiceModel.BasicHttpBinding
sur WSMessageEncoding.Mtom
. Cette valeur garantit l’utilisation de MTOM.
Activez l’authentification HTTP de base en exécutant les tâches suivantes :
DirectoryManagerServiceClient.ClientCredentials.UserName.UserName
.DirectoryManagerServiceClient.ClientCredentials.UserName.Password
.HttpClientCredentialType.Basic
au champ BasicHttpBindingSecurity.Transport.ClientCredentialType
.BasicHttpSecurityMode.TransportCredentialOnly
au champ BasicHttpBindingSecurity.Security.Mode
.Indiquez l’utilisateur à supprimer.
PrincipalSearchFilter
en utilisant son constructeur.PrincipalSearchFilter
de l’objet userId
.DirectoryManagerServiceClient
de l'objet findPrincipals
et transmettez l'objet PrincipalSearchFilter
. Cette méthode renvoie un objet de collection MyArrayOfUser
, où chaque élément est un objet User
. Effectuez une itération dans la collection MyArrayOfUser
pour localiser l’utilisateur. L'objet User
récupéré de l'objet de collection MyArrayOfUser
est utilisé pour supprimer l'utilisateur.Supprimez l’utilisateur de AEM Forms.
Supprimez l’utilisateur en transmettant la valeur du champ oid
de l’objet User
à la méthode DirectoryManagerServiceClient
de l’objet deleteLocalUser
.
Voir également
Appel de AEM Forms à l’aide de MTOM
Appel de AEM Forms à l’aide de SwaRef
Vous pouvez utiliser l’API Service Directory Manager (Java et le service Web) pour créer par programmation des groupes AEM Forms. Après avoir créé un groupe, vous pouvez l’utiliser pour effectuer une opération de service nécessitant un groupe. Par exemple, vous pouvez affecter un utilisateur au nouveau groupe. (Voir Gestion des utilisateurs et des groupes.)
Pour créer un groupe, procédez comme suit :
Inclure les fichiers de projet
Incluez les fichiers nécessaires dans votre projet de développement. Si vous créez une application cliente à l’aide de Java, incluez les fichiers JAR nécessaires.
Les fichiers JAR suivants doivent être ajoutés au chemin de classe de votre projet :
Pour plus d’informations sur l’emplacement de ces fichiers JAR, voir Inclusion de fichiers de bibliothèque Java AEM Forms.
Création d’un client DirectoryManagerService
Avant de pouvoir exécuter une opération de service Directory Manager par programmation, créez un client API de service Directory Manager.
Déterminer si le groupe existe
Lorsque vous créez un groupe, assurez-vous qu’il n’existe pas dans le même domaine. Autrement dit, deux groupes ne peuvent pas porter le même nom dans le même domaine. Pour effectuer cette tâche, effectuez une recherche et filtrez les résultats de la recherche en fonction de deux valeurs. Définissez le type principal sur com.adobe.idp.um.api.infomodel.Principal.PRINCIPALTYPE_GROUP
pour vous assurer que seuls les groupes sont renvoyés. Veillez également à spécifier le nom de domaine.
Création du groupe
Après avoir déterminé que le groupe n’existe pas dans le domaine, créez-le et spécifiez les attributs suivants :
Exécution d’une action avec le groupe
Après avoir créé un groupe, vous pouvez exécuter une action à l’aide de ce groupe. Par exemple, vous pouvez ajouter un utilisateur au groupe. Pour ajouter un utilisateur à un groupe, récupérez la valeur d’identificateur unique de l’utilisateur et du groupe. Transmettez ces valeurs à la méthode addPrincipalToLocalGroup
.
Voir également
Création de groupes à l’aide de l’API Java
Inclusion des fichiers de bibliothèque Java AEM Forms
Réglage des propriétés de la connexion
Créez un groupe à l’aide de l’API Service Directory Manager (Java) :
Incluez des fichiers de projet.
Incluez des fichiers JAR client, tels que adobe-usermanager-client.jar, dans le chemin de classe de votre projet Java.
Créez un client DirectoryManagerService.
Créez un objet DirectoryManagerServiceClient
en utilisant son constructeur et en transmettant un objet ServiceClientFactory
contenant des propriétés de connexion.
Déterminez si le groupe existe.
PrincipalSearchFilter
en utilisant son constructeur.PrincipalSearchFilter
setPrincipalType
de l'objet. Transmettez la valeur com.adobe.idp.um.api.infomodel.Principal.PRINCIPALTYPE_GROUP
.PrincipalSearchFilter
setSpecificDomainName
de l'objet. Transmettez une valeur de chaîne qui spécifie le nom de domaine.DirectoryManagerServiceClient
de l'objet findPrincipals
(une entité principale peut être un groupe). Transmettez l'objet PrincipalSearchFilter
qui spécifie le type principal et le nom de domaine. Cette méthode renvoie une instance java.util.List
où chaque élément est une instance Group
. Chaque instance de groupe est conforme au filtre spécifié à l’aide de l’objet PrincipalSearchFilter
.java.util.List
. Pour chaque élément, récupérez le nom du groupe. Assurez-vous que le nom du groupe n’est pas égal au nouveau nom du groupe.Créez le groupe.
Group
de l'objet setCommonName
et transmettez une valeur de chaîne qui spécifie le nom du groupe.Group
de l’objet setDescription
et transmettez une valeur de chaîne qui spécifie la description du groupe.Group
de l’objet setDomainName
et transmettez une valeur de chaîne qui spécifie le nom de domaine.DirectoryManagerServiceClient
de l’objet createLocalGroup
et transmettez l’instance Group
.La méthode createLocalUser
renvoie une valeur de chaîne qui spécifie la valeur de l'identifiant utilisateur local.
Exécutez une action avec le groupe.
PrincipalSearchFilter
en utilisant son constructeur.setUserId
de l’objet PrincipalSearchFilter
. Transmettez une valeur de chaîne qui représente la valeur de l’identifiant utilisateur.DirectoryManagerServiceClient
de l'objet findPrincipals
et transmettez l'objet PrincipalSearchFilter
. Cette méthode renvoie une instance java.util.List
, où chaque élément est un objet User
. Effectuez une itération sur l'instance java.util.List
pour localiser l'utilisateur.DirectoryManagerServiceClient
de l’objet addPrincipalToLocalGroup
. Transmettez la valeur renvoyée de la méthode getOid
de l’objet User
. Transmettez la valeur renvoyée de la méthode Group
des objets getOid
(utilisez l'instance Group
qui représente le nouveau groupe).Voir également
Inclusion des fichiers de bibliothèque Java AEM Forms
Réglage des propriétés de la connexion
Cette rubrique décrit comment vous pouvez utiliser (Java) pour attribuer, supprimer et requête par programmation des domaines, des utilisateurs et des groupes.
Lors de la configuration d’un domaine, vous devez définir l’identifiant unique des groupes et des utilisateurs. L’attribut choisi ne doit pas seulement être unique dans l’environnement LDAP, mais doit également être immuable et ne peut pas être modifié dans l’annuaire. Cet attribut doit également être d'un type de données de chaîne simple (la seule exception actuellement autorisée pour Principale Directory 2000/2003 est "objectsid"
, qui est une valeur binaire). L'attribut Novell eDirectory "GUID"
, par exemple, n'est pas un type de données de chaîne simple et ne fonctionnera donc pas.
"objectsid"
."nsuniqueid"
.La création de plusieurs utilisateurs et groupes locaux pendant la synchronisation d’un annuaire LDAP n’est pas prise en charge. Toute tentative est susceptible d’entraîner des erreurs.
Pour gérer les utilisateurs et les groupes, procédez comme suit :
Inclure les fichiers de projet
Incluez les fichiers nécessaires dans votre projet de développement. Si vous créez une application cliente à l’aide de Java, incluez les fichiers JAR nécessaires. Si vous utilisez des services Web, veillez à inclure les fichiers proxy.
Création d’un client DirectoryManagerService
Avant de pouvoir exécuter une opération de service Directory Manager par programmation, vous devez créer un client de service Directory Manager. Avec l'API Java, cela se fait en créant un objet DirectoryManagerServiceClient
. Avec l’API du service Web, cela se fait en créant un objet DirectoryManagerServiceService
.
Appeler les opérations d’utilisateur ou de groupe appropriées
Une fois le client de service créé, vous pouvez appeler les opérations de gestion des utilisateurs ou des groupes. Le client de service vous permet d’attribuer, de supprimer et de requête des domaines, des utilisateurs et des groupes. Notez qu'il est possible d'ajouter une entité de sécurité d'annuaire ou une entité de sécurité locale à un groupe local, mais qu'il n'est pas possible d'ajouter une entité de sécurité locale à un groupe d'annuaire.
Voir également
Gestion des utilisateurs et des groupes à l’aide de l’API Java
Gestion des utilisateurs et des groupes à l’aide de l’API du service Web
Inclusion des fichiers de bibliothèque Java AEM Forms
Réglage des propriétés de la connexion
Débuts rapides de l’API User Manager
Pour gérer par programmation les utilisateurs, les groupes et les domaines à l’aide de Java, effectuez les tâches suivantes :
Incluez des fichiers de projet.
Incluez des fichiers JAR client, tels que adobe-usermanager-client.jar, dans le chemin de classe de votre projet Java. Pour plus d’informations sur l’emplacement de ces fichiers, voir Inclusion des fichiers de bibliothèque Java AEM Forms.
Créez un client DirectoryManagerService.
Créez un objet DirectoryManagerServiceClient
en utilisant son constructeur et en transmettant un objet ServiceClientFactory
contenant des propriétés de connexion. Pour plus d’informations, voir Définition des propriétés de connexion .
Appelez les opérations d’utilisateur ou de groupe appropriées.
Pour rechercher un utilisateur ou un groupe, appelez l’une des méthodes de l’objet DirectoryManagerServiceClient
pour rechercher des entités (une entité de sécurité pouvant être un utilisateur ou un groupe). Dans l'exemple ci-dessous, la méthode findPrincipals
est appelée à l'aide d'un filtre de recherche (un objet PrincipalSearchFilter
).
Dans ce cas, la valeur renvoyée étant un java.util.List
contenant des objets Principal
, effectuez une itération dans le résultat et convertissez les objets Principal
en objets User
ou Group
.
A l’aide de l’objet User
ou Group
résultant (qui héritent tous deux de l’interface Principal
), récupérez les informations dont vous avez besoin dans vos workflows. Par exemple, les valeurs de nom de domaine et de nom canonique, combinées, identifient de manière unique une entité de sécurité. Ils sont récupérés en appelant les méthodes Principal
de l’objet getDomainName
et getCanonicalName
, respectivement.
Pour supprimer un utilisateur local, appelez la méthode deleteLocalUser
de l’objet DirectoryManagerServiceClient
et transmettez l’identifiant de l’utilisateur.
Pour supprimer un groupe local, appelez la méthode DirectoryManagerServiceClient
de l'objet deleteLocalGroup
et transmettez l'identifiant du groupe.
Voir également
Inclusion des fichiers de bibliothèque Java AEM Forms
Réglage des propriétés de la connexion
Pour gérer par programmation les utilisateurs, les groupes et les domaines à l’aide de l’API Service Directory Manager (service Web), effectuez les tâches suivantes :
Incluez des fichiers de projet.
Créez un client DirectoryManagerService.
Créez un objet DirectoryManagerServiceService
en utilisant le constructeur de votre classe proxy.
Appelez les opérations d’utilisateur ou de groupe appropriées.
Pour rechercher un utilisateur ou un groupe, appelez l’une des méthodes de l’objet DirectoryManagerServiceService
pour rechercher des entités (une entité de sécurité pouvant être un utilisateur ou un groupe). Dans l'exemple ci-dessous, la méthode findPrincipalsWithFilter
est appelée à l'aide d'un filtre de recherche (un objet PrincipalSearchFilter
). Lors de l’utilisation d’un objet PrincipalSearchFilter
, les entités de sécurité locales ne sont renvoyées que si la propriété isLocal
est définie sur true
. Ce comportement est différent de ce qui se produirait avec l’API Java.
Si le nombre maximal de résultats n'est pas spécifié dans le filtre de recherche (par le biais du champ PrincipalSearchFilter.resultsMax
), un maximum de 1 000 résultats sont renvoyés. Il s’agit d’un comportement différent de ce qui se produit avec l’API Java, où 10 résultats sont la valeur maximale par défaut. En outre, les méthodes de recherche telles que findGroupMembers
ne retourneront aucun résultat à moins que le nombre maximal de résultats ne soit spécifié dans le filtre de recherche (par exemple, par le biais du champ GroupMembershipSearchFilter.resultsMax
). Cela s'applique à tous les filtres de recherche qui héritent de la classe GenericSearchFilter
. Pour plus d’informations, voir Référence de l’API AEM Forms.
Dans ce cas, la valeur renvoyée étant un object[]
contenant des objets Principal
, effectuez une itération dans le résultat et convertissez les objets Principal
en objets User
ou Group
.
A l’aide de l’objet User
ou Group
résultant (qui héritent tous deux de l’interface Principal
), récupérez les informations dont vous avez besoin dans vos workflows. Par exemple, les valeurs de nom de domaine et de nom canonique, combinées, identifient de manière unique une entité de sécurité. Ils sont récupérés en appelant les champs Principal
de l’objet domainName
et canonicalName
, respectivement.
Pour supprimer un utilisateur local, appelez la méthode deleteLocalUser
de l’objet DirectoryManagerServiceService
et transmettez l’identifiant de l’utilisateur.
Pour supprimer un groupe local, appelez la méthode DirectoryManagerServiceService
de l'objet deleteLocalGroup
et transmettez l'identifiant du groupe.
Voir également
Appel de AEM Forms à l’aide de MTOM
Cette rubrique décrit comment vous pouvez utiliser l’API du service Authorization Manager (Java) pour attribuer, supprimer et déterminer des rôles et des autorisations par programmation.
En AEM Forms, un rôle est un groupe d'autorisations permettant d'accéder à une ou plusieurs ressources au niveau du système. Ces autorisations sont créées via User Management et appliquées par les composants de service. Par exemple, un administrateur peut attribuer le rôle "Auteur du jeu de stratégies" à un groupe d’utilisateurs. Le Rights Management autoriserait alors les utilisateurs de ce groupe ayant ce rôle à créer des jeux de stratégies via Administration Console.
Il existe deux types de rôles : rôles par défaut et rôles personnalisés. Les rôles par défaut (rôles système) résident déjà en AEM Forms. Il est supposé que les rôles par défaut ne peuvent pas être supprimés ou modifiés par l’administrateur et sont donc immuables. Les rôles personnalisés créés par l'administrateur, qui peuvent par la suite les modifier ou les supprimer, sont donc modifiables.
Les rôles facilitent la gestion des autorisations. Lorsqu’un rôle est attribué à une entité de sécurité, un ensemble d’autorisations est automatiquement attribué à cette entité de sécurité et toutes les décisions spécifiques liées à l’accès pour l’entité de sécurité sont basées sur cet ensemble global d’autorisations attribuées.
Pour gérer les rôles et les autorisations, effectuez les étapes suivantes :
Inclure les fichiers de projet
Incluez les fichiers nécessaires dans votre projet de développement. Si vous créez une application cliente à l’aide de Java, incluez les fichiers JAR nécessaires. Si vous utilisez des services Web, veillez à inclure les fichiers proxy.
Création d’un client AuthorizationManagerService
Avant de pouvoir exécuter par programmation une opération User Management AuthorizationManagerService, vous devez créer un client AuthorizationManagerService. Avec l'API Java, cela se fait en créant un objet AuthorizationManagerServiceClient
.
Appeler le rôle approprié ou les opérations d’autorisation
Une fois le client de service créé, vous pouvez appeler les opérations de rôle ou d’autorisation. Le client de service vous permet d’attribuer, de supprimer et de déterminer des rôles et des autorisations.
Voir également
Gestion des rôles et des autorisations à l’aide de l’API Java
Gestion des rôles et des autorisations à l’aide de l’API du service Web
Inclusion des fichiers de bibliothèque Java AEM Forms
Réglage des propriétés de la connexion
Débuts rapides de l’API User Manager
Pour gérer les rôles et les autorisations à l’aide de l’API du service Authorization Manager (Java), effectuez les tâches suivantes :
Incluez des fichiers de projet.
Incluez des fichiers JAR client, tels que adobe-usermanager-client.jar, dans le chemin de classe de votre projet Java.
Créez un client AuthorizationManagerService.
Créez un objet AuthorizationManagerServiceClient
en utilisant son constructeur et en transmettant un objet ServiceClientFactory
contenant des propriétés de connexion.
Appelez le rôle approprié ou les opérations d’autorisation.
Pour attribuer un rôle à une entité de sécurité, appelez la méthode assignRole
de l’objet AuthorizationManagerServiceClient
et transmettez les valeurs suivantes :
java.lang.String
contenant l'identifiant de rôlejava.lang.String
contenant les identifiants principaux.Pour supprimer un rôle d'une entité de sécurité, appelez la méthode unassignRole
de l'objet AuthorizationManagerServiceClient
et transmettez les valeurs suivantes :
java.lang.String
contenant l'identifiant de rôle.java.lang.String
contenant les identifiants principaux.Voir également
Début rapide (mode SOAP) : Gestion des rôles et des autorisations à l’aide de l’API Java
Inclusion des fichiers de bibliothèque Java AEM Forms
Réglage des propriétés de la connexion
Gérez les rôles et les autorisations à l’aide de l’API Service Authorization Manager (service Web) :
Incluez des fichiers de projet.
Créez un projet Microsoft .NET qui utilise MTOM. Assurez-vous d’utiliser la définition WSDL suivante : http://localhost:8080/soap/services/AuthorizationManagerService?WSDL&lc_version=9.0.1
.
Remplacez localhost
par l’adresse IP du serveur hébergeant AEM Forms.
Créez un client AuthorizationManagerService.
Créez un objet AuthorizationManagerServiceClient
en utilisant son constructeur par défaut.
Créez un objet AuthorizationManagerServiceClient.Endpoint.Address
en utilisant le constructeur System.ServiceModel.EndpointAddress
. Transmettez une valeur de chaîne qui spécifie le WSDL au service AEM Forms (par exemple, http://localhost:8080/soap/services/AuthorizationManagerService?blob=mtom
). Vous n'avez pas besoin d'utiliser l'attribut lc_version
. Cet attribut est utilisé lorsque vous créez une référence de service.
Créez un objet System.ServiceModel.BasicHttpBinding
en obtenant la valeur du champ AuthorizationManagerServiceClient.Endpoint.Binding
. Convertissez la valeur de retour en BasicHttpBinding
.
Définissez le champ MessageEncoding
de l’objet System.ServiceModel.BasicHttpBinding
sur WSMessageEncoding.Mtom
. Cette valeur garantit l’utilisation de MTOM.
Activez l’authentification HTTP de base en exécutant les tâches suivantes :
AuthorizationManagerServiceClient.ClientCredentials.UserName.UserName
.AuthorizationManagerServiceClient.ClientCredentials.UserName.Password
.HttpClientCredentialType.Basic
au champ BasicHttpBindingSecurity.Transport.ClientCredentialType
.BasicHttpSecurityMode.TransportCredentialOnly
au champ BasicHttpBindingSecurity.Security.Mode
.Appelez le rôle approprié ou les opérations d’autorisation.
Pour attribuer un rôle à une entité de sécurité, appelez la méthode assignRole
de l’objet AuthorizationManagerServiceClient
et transmettez les valeurs suivantes :
string
contenant l'identifiant de rôleMyArrayOf_xsd_string
contenant les identifiants principaux.Pour supprimer un rôle d'une entité de sécurité, appelez la méthode unassignRole
de l'objet AuthorizationManagerServiceService
et transmettez les valeurs suivantes :
string
contenant l'identifiant de rôle.string
contenant les identifiants principaux.Voir également
Appel de AEM Forms à l’aide de MTOM
Cette rubrique décrit comment vous pouvez utiliser l’API du service Authentication Manager (Java) pour permettre à vos applications clientes d’authentifier les utilisateurs par programmation.
L’authentification de l’utilisateur peut être nécessaire pour interagir avec une base de données d’entreprise ou d’autres référentiels d’entreprise qui stockent des données sécurisées.
Prenons, par exemple, un scénario où un utilisateur saisit un nom d’utilisateur et un mot de passe dans une page Web et envoie les valeurs à un serveur d’applications J2EE hébergeant Forms. Une application personnalisée Forms peut authentifier l’utilisateur avec le service Authentication Manager.
Si l’authentification réussit, l’application accède à une base de données d’entreprise sécurisée. Dans le cas contraire, un message est envoyé à l’utilisateur pour lui indiquer qu’il n’est pas un utilisateur autorisé.
Le diagramme suivant illustre le flux logique de l’application.
Le tableau suivant décrit les étapes de ce diagramme.
Étape |
Description |
---|---|
1 |
L’utilisateur accède à un site Web et spécifie un nom d’utilisateur et un mot de passe. Ces informations sont envoyées à un serveur d’applications J2EE hébergeant AEM Forms. |
2 |
Les informations d’identification de l’utilisateur sont authentifiées avec le service Authentication Manager. Si les informations d’identification de l’utilisateur sont valides, le processus passe à l’étape 3. Dans le cas contraire, un message est envoyé à l’utilisateur pour lui indiquer qu’il n’est pas un utilisateur autorisé. |
3 |
Les informations utilisateur et une conception de formulaire sont récupérées dans une base de données d’entreprise sécurisée. |
4 |
Les informations utilisateur sont fusionnées avec une conception de formulaire et le formulaire est rendu à l’utilisateur. |
Pour authentifier par programmation un utilisateur, procédez comme suit :
Inclure les fichiers de projet
Incluez les fichiers nécessaires dans votre projet de développement. Si vous créez une application cliente à l’aide de Java, incluez les fichiers JAR nécessaires. Si vous utilisez des services Web, veillez à inclure les fichiers proxy.
Création d’un client AuthenticationManagerService
Avant de pouvoir authentifier un utilisateur par programmation, vous devez créer un client AuthenticationManagerService. Lors de l’utilisation de l’API Java, créez un objet AuthenticationManagerServiceClient
.
Appeler l’opération d’authentification
Après avoir créé le client de service, vous pouvez appeler l’opération d’authentification. Cette opération nécessite des informations sur l’utilisateur, telles que son nom et son mot de passe. Si l’utilisateur ne s’authentifie pas, une exception est générée.
Récupérer le contexte d'authentification
Une fois l’utilisateur authentifié, vous pouvez créer un contexte basé sur l’utilisateur authentifié. Vous pouvez ensuite utiliser le contenu pour appeler un autre service AEM Forms. Par exemple, vous pouvez utiliser le contexte pour créer un EncryptionServiceClient
et chiffrer un document PDF avec un mot de passe. Assurez-vous que l’utilisateur authentifié possède le rôle Services User
requis pour appeler un service AEM Forms.
Voir également
Inclusion des fichiers de bibliothèque Java AEM Forms
Réglage des propriétés de la connexion
Débuts rapides de l’API User Manager
Chiffrement de Documents PDF avec un mot de passe
Authentifiez un utilisateur à l’aide de l’API du service Authentication Manager (Java) :
Incluez des fichiers de projet.
Incluez des fichiers JAR client, tels que adobe-usermanager-client.jar, dans le chemin de classe de votre projet Java.
Créez un client AuthenticationManagerServices.
Créez un objet AuthenticationManagerServiceClient
en utilisant son constructeur et en transmettant un objet ServiceClientFactory
contenant des propriétés de connexion.
Appelez l’opération d’authentification.
Appelez la méthode authenticate
de l’objet AuthenticationManagerServiceClient
et transmettez les valeurs suivantes :
java.lang.String
contenant le nom de l’utilisateur.byte[]
) contenant le mot de passe de l’utilisateur. Vous pouvez obtenir l'objet byte[]
en appelant la méthode java.lang.String
de l'objet getBytes
.La méthode authenticate renvoie un objet AuthResult
contenant des informations sur l'utilisateur authentifié.
Récupérez le contexte d’authentification.
Appelez la méthode ServiceClientFactory
de l'objet getContext
, qui renvoie un objet Context
.
Appelez ensuite la méthode Context
de l’objet initPrincipal
et transmettez la méthode AuthResult
.
Authentifiez un utilisateur à l’aide de l’API Service Authentication Manager (service Web) :
Incluez des fichiers de projet.
Créez un client AuthenticationManagerService.
Créez un objet AuthenticationManagerServiceService
en utilisant le constructeur de votre classe proxy.
Appelez l’opération d’authentification.
Appelez la méthode authenticate
de l’objet AuthenticationManagerServiceClient
et transmettez les valeurs suivantes :
string
contenant le nom de l’utilisateur.byte[]
) contenant le mot de passe de l’utilisateur. Vous pouvez obtenir l'objet byte[]
en convertissant un objet string
contenant le mot de passe en tableau byte[]
à l'aide de la logique illustrée dans l'exemple ci-dessous.AuthResult
, qui peut être utilisé pour récupérer des informations sur l'utilisateur. Dans l’exemple ci-dessous, les informations de l’utilisateur sont récupérées en obtenant d’abord le champ AuthResult
de l’objet authenticatedUser
et ensuite les champs User
de l’objet canonicalName
et domainName
qui en résultent.Voir également
Appel de AEM Forms à l’aide de MTOM
Appel de AEM Forms à l’aide de SwaRef
Vous pouvez synchroniser les utilisateurs par programmation à l’aide de l’API User Management. Lorsque vous synchronisez des utilisateurs, vous mettez à jour AEM Forms avec les données utilisateur qui se trouvent dans votre référentiel d’utilisateurs. Supposons, par exemple, que vous ajoutiez de nouveaux utilisateurs à votre référentiel d’utilisateurs. Une fois que vous avez effectué une synchronisation, les nouveaux utilisateurs deviennent des utilisateurs AEM forms. En outre, les utilisateurs qui ne se trouvent plus dans votre référentiel d’utilisateurs sont supprimés d’AEM Forms.
Le diagramme suivant montre l’AEM Forms synchronisé avec un référentiel utilisateur.
Le tableau suivant décrit les étapes de ce diagramme.
Étape |
Description |
---|---|
3 |
Une application cliente demande à AEM Forms d’effectuer une opération de synchronisation. |
2 |
AEM Forms effectue une opération de synchronisation. |
1 |
Les informations utilisateur sont mises à jour. |
4 |
Un utilisateur peut vue les informations utilisateur mises à jour. |
Pour synchroniser les utilisateurs par programmation, procédez comme suit :
Inclure les fichiers de projet
Incluez les fichiers nécessaires dans votre projet de développement. Si vous créez une application cliente à l’aide de Java, incluez les fichiers JAR nécessaires. Si vous utilisez des services Web, veillez à inclure les fichiers proxy.
Création d’un UserManagerUtilServiceClientclient
Avant de pouvoir synchroniser les utilisateurs par programmation, vous devez créer un objet UserManagerUtilServiceClient
.
Spécifier le domaine d’entreprise
Avant d’effectuer une synchronisation à l’aide de l’API User Management, vous devez spécifier le domaine d’entreprise auquel appartiennent les utilisateurs. Vous pouvez spécifier un ou plusieurs domaines d’entreprise. Avant d’effectuer une synchronisation par programmation, vous devez configurer un domaine d’entreprise à l’aide d’Administration Console. (Voir Aide à l'administration.)
Appeler l’opération de synchronisation
Après avoir spécifié un ou plusieurs domaines d’entreprise, vous pouvez effectuer l’opération de synchronisation. Le temps nécessaire pour effectuer cette opération dépend du nombre d’enregistrements d’utilisateurs situés dans le référentiel d’utilisateurs.
Déterminer si l'opération de synchronisation est terminée
Après avoir exécuté une opération de synchronisation par programmation, vous pouvez déterminer si l’opération est terminée.
Voir également
Inclusion des fichiers de bibliothèque Java AEM Forms
Réglage des propriétés de la connexion
Débuts rapides de l’API User Manager
Chiffrement de Documents PDF avec un mot de passe
Synchronisez les utilisateurs à l’aide de l’API User Management (Java) :
Incluez des fichiers de projet.
Incluez les fichiers JAR client, tels que adobe-usermanager-client.jar et adobe-usermanager-util-client.jar, dans le chemin de classe de votre projet Java.
Créez un client UserManagerUtilServiceClient.
Créez un objet UserManagerUtilServiceClient
en utilisant son constructeur et en transmettant un objet ServiceClientFactory
contenant des propriétés de connexion.
Spécifiez le domaine d’entreprise.
UserManagerUtilServiceClient
de l’objet scheduleSynchronization
pour début de l’opération de synchronisation de l’utilisateur.java.util.Set
en utilisant un constructeur HashSet
. Veillez à spécifier String
comme type de données. Cette instance Java.util.Set
stocke les noms de domaine auxquels s'applique l'opération de synchronisation.java.util.Set
et transmettez le nom de domaine.Appelez l’opération de synchronisation.
Appelez la méthode ServiceClientFactory
de l'objet getContext
, qui renvoie un objet Context
.
Appelez ensuite la méthode Context
de l’objet initPrincipal
et transmettez la méthode AuthResult
.
Voir également
Synchronisation par programmation des utilisateurs