Les exemples et les exemples de ce document sont réservés à l’environnement AEM Forms on JEE.
Gestion des utilisateurs
Vous pouvez utiliser l’API User Management pour créer des applications clientes qui peuvent gérer des rôles, des autorisations et des entités (qui peuvent être des utilisateurs ou des groupes), ainsi que authentifier des utilisateurs. L’API de gestion des utilisateurs se compose des API AEM Forms suivantes :
User Management vous permet d’affecter, de supprimer et de déterminer des rôles et des autorisations. Il vous permet également d’affecter, de supprimer et de interroger des domaines, des utilisateurs et des groupes. Enfin, vous pouvez utiliser User Management pour authentifier les utilisateurs.
Dans Ajout d’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 de service 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 les autorisations du système, ce que vous pouvez faire par programmation pour les augmenter, ainsi que des exemples d’utilisation des API Java et de service Web pour gérer par programmation les rôles et les autorisations. Cette section utilise à la fois l’API du service Directory Manager et l’API du service Authorization Manager.
Dans Authentification des utilisateurs, vous trouverez des exemples d’utilisation des API Java et de service Web pour authentifier par programmation les utilisateurs. Cette section utilise l’API du service Authorization Manager.
Comprendre le processus d’authentification
User Management fournit 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 l’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 des informations de configuration, au fournisseur d’authentification. |
3 |
Le fournisseur d’authentification se connecte à la boutique 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 lui refuse l’accès au produit. |
Si le fuseau horaire du serveur est différent du fuseau horaire du client, lors de l’utilisation du WSDL pour le service AEM Forms Generate PDF sur une pile SOAP native à l’aide d’un client .NET sur une grappe de serveurs d’applications WebSphere, 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 annuaires
User Management est fourni avec un fournisseur de service d’annuaire (le DirectoryManagerService) qui prend en charge les connexions aux répertoires LDAP. Si votre entreprise utilise un référentiel non LDAP pour stocker des enregistrements d’utilisateurs, vous pouvez créer votre propre fournisseur de services d’annuaire qui fonctionne avec votre référentiel.
Les fournisseurs de services d’annuaire récupèrent les enregistrements d’une banque 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 fournisseur de services 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 de l’annuaire des utilisateurs et tous les enregistrements d’utilisateur et de groupe sont à jour.
En outre, le service DirectoryManager 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 structure de votre organisation ou de la configuration de votre banque d’utilisateurs. Les domaines User Management fournissent des paramètres de configuration que les fournisseurs d’authentification et les fournisseurs de services d’annuaire utilisent.
Dans la configuration XML que User Management exporte, 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.
Comprendre les 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 (une arborescence de domaines, par exemple), la valeur objectSID
peut être différente.
Une valeur objectSID
changerait si un objet est déplacé d’un domaine Principal Directory vers un autre domaine. 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., auront la même valeur objectSID
indépendamment des domaines. Ces valeurs objectSID
sont bien connues.
Vous pouvez utiliser l’API Directory Manager Service (Java et 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 d’effectuer une opération de service Directory Manager par programmation, créez un client API Directory Manager Service.
Définition des informations utilisateur
Lorsque vous ajoutez un nouvel utilisateur à l’aide de l’API Directory Manager Service, 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)
.Ajout de 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 ne s’est produit. Localisez le nouvel utilisateur à l’aide de la valeur de l’identifiant de l’utilisateur.
Voir également
Ajout d’utilisateurs à l’aide de l’API Java
Ajout d’utilisateurs à l’aide de l’API de service Web
Inclusion des fichiers de bibliothèque Java d’AEM Forms
Réglage des propriétés de la connexion
Ajoutez des utilisateurs à l’aide de l’API du service Directory Manager (Java) :
Inclure les fichiers de projet.
Incluez les 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 sur l’utilisateur.
UserImpl
en utilisant son constructeur.UserImpl
de l’objet setDomainName
. Transmettez une valeur string qui spécifie le nom de domaine.UserImpl
de l’objet setPrincipalType
. Transmettez une valeur string qui spécifie le type d’utilisateur. Par exemple, vous pouvez spécifier USER
.setUserid
de l’objet UserImpl
. Transmettez une valeur string qui spécifie la valeur de l’identifiant utilisateur. Par exemple, vous pouvez spécifier wblue
.setCanonicalName
de l’objet UserImpl
. Transmettez une valeur string qui spécifie le nom canonique de l’utilisateur. Par exemple, vous pouvez spécifier wblue
.UserImpl
de l’objet setGivenName
. Transmettez une valeur string qui spécifie le prénom de l’utilisateur. Par exemple, vous pouvez spécifier Wendy
.UserImpl
de l’objet setFamilyName
. Transmettez une valeur string qui spécifie le nom de famille de l’utilisateur. Par exemple, vous pouvez spécifier Blue
.Appelez une méthode appartenant à 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 setLocale
de l’objet UserImpl
.
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 string 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 string qui représente la valeur de l’identifiant de l’utilisateur.findPrincipals
de l’objet DirectoryManagerServiceClient
et transmettez l’objet PrincipalSearchFilter
. Cette méthode renvoie une instance java.util.List
, où chaque élément est un objet User
. Parcourez l’instance java.util.List
pour localiser l’utilisateur.Voir également
Démarrage rapide (mode SOAP) : Ajout d’utilisateurs à l’aide de l’API Java
Inclusion des fichiers de bibliothèque Java d’AEM Forms
Réglage des propriétés de la connexion
Ajoutez des utilisateurs à l’aide de l’API Directory Manager Service (service Web) :
Inclure les fichiers de projet.
Créez un projet Microsoft .NET qui utilise MTOM. Assurez-vous d’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
à l’aide de son constructeur par défaut.
Créez un objet DirectoryManagerServiceClient.Endpoint.Address
à l’aide du constructeur System.ServiceModel.EndpointAddress
. Transmettez une valeur string 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 effectuant 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 sur l’utilisateur.
UserImpl
en utilisant son constructeur.domainName
de l’objet UserImpl
.principalType
de l’objet UserImpl
. Par exemple, vous pouvez spécifier USER
.userid
de l’objet UserImpl
.UserImpl
de l’objet canonicalName
.givenName
de l’objet UserImpl
.familyName
de l’objet UserImpl
.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 string 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
.findPrincipals
de l’objet DirectoryManagerServiceClient
et transmettez l’objet PrincipalSearchFilter
. Cette méthode renvoie un objet de collection MyArrayOfUser
, où chaque élément est un objet User
. Parcourez la collection MyArrayOfUser
pour localiser l’utilisateur.Voir également
Appel d’AEM Forms à l’aide de MTOM
Appel d’AEM Forms à l’aide de SwaRef
Vous pouvez utiliser l’API Directory Manager Service (Java et service Web) pour supprimer par programmation les utilisateurs d’AEM Forms. Après la suppression d’un utilisateur, celui-ci 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 d’effectuer par programmation une opération d’API du service Directory Manager, créez un client de service Directory Manager.
Spécification de l’utilisateur à supprimer
Vous pouvez spécifier un utilisateur à supprimer à l’aide de la valeur d’identifiant de l’utilisateur.
Suppression de l’utilisateur d’AEM Forms
Pour supprimer un utilisateur, appelez la méthode DirectoryManagerServiceClient
de l’objet deleteLocalUser
.
Voir également
Suppression des utilisateurs à l’aide de l’API Java
Suppression des utilisateurs à l’aide de l’API de service Web
Inclusion des fichiers de bibliothèque Java d’AEM Forms
Réglage des propriétés de la connexion
Supprimez les utilisateurs à l’aide de l’API du service Directory Manager (Java) :
Inclure les fichiers de projet.
Incluez les 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 string qui représente la valeur de l’identifiant de l’utilisateur.findPrincipals
de l’objet DirectoryManagerServiceClient
et transmettez l’objet PrincipalSearchFilter
. Cette méthode renvoie une instance java.util.List
, où chaque élément est un objet User
. Parcourez l’instance java.util.List
pour localiser l’utilisateur à supprimer.Supprimez l’utilisateur d’AEM Forms.
Appelez la méthode deleteLocalUser
de l’objet DirectoryManagerServiceClient
et transmettez la valeur du champ oid
de l’objet User
. Appelez la méthode getOid
de l’objet User
. Utilisez l’objet User
récupéré à partir de l’instance java.util.List
.
Voir également
Démarrage rapide (mode EJB) : Suppression d’utilisateurs à l’aide de l’API Java
Démarrage rapide (mode SOAP) : Suppression d’utilisateurs à l’aide de l’API Java
Inclusion des fichiers de bibliothèque Java d’AEM Forms
Réglage des propriétés de la connexion
Supprimez les utilisateurs à l’aide de l’API Directory Manager Service (service Web) :
Inclure les fichiers de projet.
Incluez les 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
à l’aide de son constructeur par défaut.
Créez un objet DirectoryManagerServiceClient.Endpoint.Address
à l’aide du constructeur System.ServiceModel.EndpointAddress
. Transmettez une valeur string 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 effectuant 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.userId
de l’objet PrincipalSearchFilter
.findPrincipals
de l’objet DirectoryManagerServiceClient
et transmettez l’objet PrincipalSearchFilter
. Cette méthode renvoie un objet de collection MyArrayOfUser
, où chaque élément est un objet User
. Parcourez 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 d’AEM Forms.
Supprimez l’utilisateur en transmettant la valeur du champ oid
de l’objet User
à la méthode deleteLocalUser
de l’objet DirectoryManagerServiceClient
.
Voir également
Appel d’AEM Forms à l’aide de MTOM
Appel d’AEM Forms à l’aide de SwaRef
Vous pouvez utiliser l’API Directory Manager Service (Java et service Web) pour créer des groupes AEM Forms par programmation. Après avoir créé un groupe, vous pouvez utiliser ce groupe 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 d’accès aux classes de votre projet :
Pour plus d’informations sur l’emplacement de ces fichiers JAR, voir Inclusion des fichiers de bibliothèque Java AEM Forms.
Création d’un client DirectoryManagerService
Avant d’effectuer une opération de service Directory Manager par programmation, créez un client API Directory Manager Service.
Déterminer si le groupe existe
Lorsque vous créez un groupe, assurez-vous qu’il n’existe pas dans le même domaine. En d’autres termes, 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 selon 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
Une fois que vous avez déterminé que le groupe n’existe pas dans le domaine, créez le groupe et spécifiez les attributs suivants :
Exécution d’une action avec le groupe
Après avoir créé un groupe, vous pouvez effectuer une action à l’aide de ce groupe. Vous pouvez par exemple ajouter un utilisateur au groupe. Pour ajouter un utilisateur à un groupe, récupérez la valeur d’identifiant 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 d’AEM Forms
Réglage des propriétés de la connexion
Créez un groupe à l’aide de l’API du service Directory Manager (Java) :
Inclure les fichiers de projet.
Incluez les 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
de l’objet setPrincipalType
. Transmettez la valeur com.adobe.idp.um.api.infomodel.Principal.PRINCIPALTYPE_GROUP
.PrincipalSearchFilter
de l’objet setSpecificDomainName
. Transmettez une valeur string qui spécifie le nom de domaine.DirectoryManagerServiceClient
de l’objet findPrincipals
(une entité 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.
setCommonName
de l’objet Group
et transmettez une valeur string qui spécifie le nom du groupe.setDescription
de l’objet Group
et transmettez une valeur string qui spécifie la description du groupe.setDomainName
de l’objet Group
et transmettez une valeur string qui spécifie le nom de domaine.createLocalGroup
de l’objet DirectoryManagerServiceClient
et transmettez l’instance Group
.La méthode createLocalUser
renvoie une valeur string 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 string qui représente la valeur de l’identifiant de l’utilisateur.findPrincipals
de l’objet DirectoryManagerServiceClient
et transmettez l’objet PrincipalSearchFilter
. Cette méthode renvoie une instance java.util.List
, où chaque élément est un objet User
. Parcourez l’instance java.util.List
pour localiser l’utilisateur.addPrincipalToLocalGroup
de l’objet DirectoryManagerServiceClient
. Transmettez la valeur renvoyée par la méthode getOid
de l’objet User
. Transmettez la valeur renvoyée par la méthode getOid
des objets Group
(utilisez l’instance Group
qui représente le nouveau groupe).Voir également
Inclusion des fichiers de bibliothèque Java d’AEM Forms
Réglage des propriétés de la connexion
Cette rubrique décrit comment utiliser (Java) pour affecter, supprimer et interroger 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 doit non seulement être unique dans l’environnement LDAP, mais il doit également être immuable et ne changera pas 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 la 2000/2003 Principale Directory 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 lorsqu’une synchronisation d’annuaire LDAP est en cours 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 d’effectuer par programmation une opération de service Directory Manager, vous devez créer un client de service Directory Manager. Avec l’API Java, cela est possible en créant un objet DirectoryManagerServiceClient
. Avec l’API de 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’affecter, de supprimer et de demander des domaines, des utilisateurs et des groupes. Notez qu’il est possible d’ajouter une entité de répertoire ou une entité locale à un groupe local, mais qu’il n’est pas possible d’ajouter une entité locale à un groupe de répertoires.
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 de service Web
Inclusion des fichiers de bibliothèque Java d’AEM Forms
Réglage des propriétés de la connexion
Démarrages 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 :
Inclure les fichiers de projet.
Incluez les 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 trouver un utilisateur ou un groupe, appelez l’une des méthodes de l’objet DirectoryManagerServiceClient
pour rechercher des entités (une entité 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 une valeur java.util.List
contenant des objets Principal
, effectuez une itération sur le résultat et convertissez les objets Principal
en objets User
ou Group
.
À l’aide de l’objet User
ou Group
qui en résulte (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, en combinaison, identifient de manière unique une entité. 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 DirectoryManagerServiceClient
de l’objet deleteLocalUser
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 d’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 Directory Manager Service (service Web), effectuez les tâches suivantes :
Inclure les fichiers de projet.
Créez un client DirectoryManagerService .
Créez un objet DirectoryManagerServiceService
à l’aide du constructeur de votre classe proxy.
Appelez les opérations d’utilisateur ou de groupe appropriées.
Pour trouver un utilisateur ou un groupe, appelez l’une des méthodes de l’objet DirectoryManagerServiceService
pour rechercher des entités (une entité 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 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 sera renvoyé. Il s’agit d’un comportement différent de celui de l’API Java, dans laquelle 10 résultats sont le maximum par défaut. En outre, les méthodes de recherche telles que findGroupMembers
ne donneront aucun résultat, sauf si le nombre maximal de résultats est spécifié dans le filtre de recherche (par exemple, via le 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 une valeur object[]
contenant des objets Principal
, effectuez une itération sur le résultat et convertissez les objets Principal
en objets User
ou Group
.
À l’aide de l’objet User
ou Group
qui en résulte (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, en combinaison, identifient de manière unique une entité. Ils sont récupérés en appelant respectivement les champs domainName
et canonicalName
de l’objet Principal
.
Pour supprimer un utilisateur local, appelez la méthode DirectoryManagerServiceService
de l’objet deleteLocalUser
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 d’AEM Forms à l’aide de MTOM
Cette rubrique décrit comment utiliser l’API du service Authorization Manager (Java) pour attribuer, supprimer et déterminer par programmation des rôles et des autorisations.
Dans AEM Forms, un rôle est un groupe d’autorisations d’accès à une ou plusieurs ressources au niveau du système. Ces autorisations sont créées via User Management et sont appliquées par les composants de service. Par exemple, un administrateur peut affecter le rôle "Auteur du jeu de stratégies" à un groupe d’utilisateurs. Rights Management autoriserait alors les utilisateurs de ce groupe avec ce rôle à créer des jeux de stratégies via la console d’administration.
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à dans AEM Forms. Il est supposé que les rôles par défaut ne peuvent pas être supprimés ni modifiés par l’administrateur et sont donc immuables. Les rôles personnalisés créés par l’administrateur, qui peuvent ensuite les modifier ou les supprimer, sont donc modifiables.
Les rôles facilitent la gestion des autorisations. Lorsqu’un rôle est attribué à une entité, un ensemble d’autorisations est automatiquement attribué à cette entité, et toutes les décisions spécifiques liées à l’accès pour l’entité sont basées sur cet ensemble global d’autorisations attribuées.
Pour gérer les rôles et les autorisations, 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 AuthorizationManagerService
Avant d’effectuer par programmation une opération User Management AuthorizationManagerService, vous devez créer un client AuthorizationManagerService . Avec l’API Java, cela est possible en créant un objet AuthorizationManagerServiceClient
.
Appeler les opérations de rôle ou d’autorisation appropriées
Une fois que vous avez créé le client de service, vous pouvez appeler les opérations de rôle ou d’autorisation. Le client de service vous permet d’affecter, 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 de service Web
Inclusion des fichiers de bibliothèque Java d’AEM Forms
Réglage des propriétés de la connexion
Démarrages 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 :
Inclure les fichiers de projet.
Incluez les 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 les opérations de rôle ou d’autorisation appropriées.
Pour attribuer un rôle à une entité, appelez la méthode assignRole
de l’objet AuthorizationManagerServiceClient
et transmettez les valeurs suivantes :
java.lang.String
contenant l’identifiant du rôlejava.lang.String
contenant les identifiants principaux.Pour supprimer un rôle d’une entité, appelez la méthode unassignRole
de l’objet AuthorizationManagerServiceClient
et transmettez les valeurs suivantes :
java.lang.String
contenant l’identifiant du rôle.java.lang.String
contenant les identifiants principaux.Voir également
Démarrage rapide (mode SOAP) : Gestion des rôles et des autorisations à l’aide de l’API Java
Inclusion des fichiers de bibliothèque Java d’AEM Forms
Réglage des propriétés de la connexion
Gérez les rôles et les autorisations à l’aide de l’API Authorization Manager Service (service web) :
Inclure les 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
à l’aide de son constructeur par défaut.
Créez un objet AuthorizationManagerServiceClient.Endpoint.Address
à l’aide du constructeur System.ServiceModel.EndpointAddress
. Transmettez une valeur string 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 effectuant 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 les opérations de rôle ou d’autorisation appropriées.
Pour attribuer un rôle à une entité, appelez la méthode assignRole
de l’objet AuthorizationManagerServiceClient
et transmettez les valeurs suivantes :
string
contenant l’identifiant du rôleMyArrayOf_xsd_string
contenant les identifiants principaux.Pour supprimer un rôle d’une entité, appelez la méthode unassignRole
de l’objet AuthorizationManagerServiceService
et transmettez les valeurs suivantes :
string
contenant l’identifiant du rôle.string
contenant les identifiants principaux.Voir également
Appel d’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 par programmation les utilisateurs.
L’authentification des utilisateurs 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.
Supposons, par exemple, qu’un utilisateur saisisse 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 à l’aide du service Authentication Manager.
Si l’authentification est réussie, 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 l’informer 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 |
---|---|
3 |
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 workflow passe à l’étape 3. Dans le cas contraire, un message est envoyé à l’utilisateur pour l’informer qu’il n’est pas un utilisateur autorisé. |
3 |
Les informations utilisateur et la 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 un utilisateur 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 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
Une fois le client de service créé, 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ération du contexte d’authentification
Une fois que vous avez authentifié l’utilisateur, 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é dispose du rôle Services User
requis pour appeler un service AEM Forms.
Voir également
Inclusion des fichiers de bibliothèque Java d’AEM Forms
Réglage des propriétés de la connexion
Démarrages 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) :
Inclure les fichiers de projet.
Incluez les 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 getBytes
de l’objet java.lang.String
.La méthode d’authentification renvoie un objet AuthResult
contenant des informations sur l’utilisateur authentifié.
Récupérez le contexte d’authentification.
Appelez la méthode getContext
de l’objet ServiceClientFactory
, qui renverra un objet Context
.
Ensuite, appelez la méthode initPrincipal
de l’objet Context
et transmettez la méthode AuthResult
.
Authentifiez un utilisateur à l’aide de l’API Authentication Manager Service (service Web) :
Inclure les fichiers de projet.
Créez un client AuthenticationManagerService.
Créez un objet AuthenticationManagerServiceService
à l’aide du 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’utilisateurbyte[]
) 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 authenticatedUser
de l’objet AuthResult
et ensuite les champs User
de l’objet canonicalName
ainsi que les champs domainName
qui en résultent.Voir également
Appel d’AEM Forms à l’aide de MTOM
Appel d’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 utilisateur. Supposons, par exemple, que vous ajoutiez de nouveaux utilisateurs à votre référentiel d’utilisateurs. Une fois que vous avez effectué une opération de synchronisation, les nouveaux utilisateurs deviennent AEM utilisateurs 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 la synchronisation d’AEM Forms 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. |
3 |
Les informations utilisateur sont mises à jour. |
4 |
Un utilisateur peut afficher 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 client UserManagerUtilServiceClient
Avant de pouvoir synchroniser les utilisateurs par programmation, vous devez créer un objet UserManagerUtilServiceClient
.
Définition du domaine d’entreprise
Avant d’effectuer une opération de synchronisation à l’aide de l’API User Management, vous spécifiez le domaine d’entreprise auquel appartiennent les utilisateurs. Vous pouvez spécifier un ou plusieurs domaines d’entreprise. Avant d’effectuer par programmation une opération de synchronisation, 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 défini un ou plusieurs domaines d’entreprise, vous pouvez effectuer l’opération de synchronisation. Le temps nécessaire à l’exécution de 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 effectué 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 d’AEM Forms
Réglage des propriétés de la connexion
Démarrages rapides de l’API User Manager
Chiffrement de documents PDF avec un mot de passe
Synchroniser les utilisateurs à l’aide de l’API User Management (Java) :
Inclure les 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.
Indiquez le domaine d’entreprise.
scheduleSynchronization
de l’objet UserManagerUtilServiceClient
pour lancer l’opération de synchronisation des utilisateurs.java.util.Set
à l’aide d’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 getContext
de l’objet ServiceClientFactory
, qui renverra un objet Context
.
Ensuite, appelez la méthode initPrincipal
de l’objet Context
et transmettez la méthode AuthResult
.
Voir également
Synchronisation par programmation des utilisateurs