AEM forms offre deux méthodes d’activation de la fonction SSO (Single Sign-On) : via les en-têtes HTTP et SPNEGO.
Lorsque la fonction SSO est implémentée, les pages d’ouverture de session utilisateur d’AEM forms ne sont plus obligatoires. Elles ne s’affichent pas si l’utilisateur s’est déjà authentifié via le portail de son entreprise.
Si AEM forms n’est pas en mesure d’authentifier un utilisateur à l’aide de l’une de ces méthodes, l’utilisateur est redirigé vers une page d’ouverture de session.
La page Configuration du portail permet d’activer l’authentification unique (SSO) entre les applications et les applications prenant en charge l’acheminement de l’identité via l’en-tête HTTP. Lorsque la fonction SSO est implémentée, les pages d’ouverture de session utilisateur d’AEM forms ne sont plus obligatoires. Elles ne s’affichent pas si l’utilisateur s’est déjà authentifié via le portail de son entreprise.
Vous pouvez également activer la fonction SSO via SPNEGO (voir Activation de la fonction SSO à l’aide de SPNEGO).
-
Type d’authentification unique : (obligatoire) sélectionnez En-tête HTTP pour activer la fonction SSO par le biais d’en-têtes HTTP.
En-tête HTTP de l’identificateur de l’utilisateur : (obligatoire) nom de l’en-tête dont la valeur contient l’identificateur unique de l’utilisateur connecté. Cette valeur sert à rechercher l’utilisateur dans la base de données User Management. La valeur obtenue via cet en-tête doit correspondre à l’identificateur unique de l’utilisateur synchronisé à partir de l’annuaire LDAP (voir Options utilisateur).
La valeur de l’identificateur correspond à l’ID utilisateur de l’utilisateur et non à l’identificateur unique de l’utilisateur : permet de mapper la valeur d’identificateur unique de l’utilisateur à l’ID utilisateur. Sélectionnez cette option si l’identificateur unique de l’utilisateur est une valeur binaire ne pouvant pas facilement être propagée sur les en-têtes HTTP (par exemple, objectGUID si vous synchronisez des utilisateurs à partir d’Active Directory).
En-tête HTTP du domaine : (facultatif) nom de l’en-tête dont la valeur contient le nom du domaine. Utilisez ce paramètre uniquement si plusieurs en-têtes HTTP identifient l’utilisateur de façon unique. Utilisez ce paramètre lorsqu’il existe plusieurs domaines et que l’identificateur n’est unique que dans un seul domaine. Dans ce cas, indiquez le nom de l’en-tête dans cette zone de texte et spécifiez le mappage des domaines dans le champ Mappage de domaine (voir Modification et conversion de domaines).
Mappage de domaine : (obligatoire) permet de spécifier le mappage de plusieurs domaines, au format valeur de l’en-tête=nom du domaine.
Par exemple, prenons une situation où l’en-tête HTTP d’un domaine est domainName et où il peut avoir les valeurs domain1, domain2 ou domain3. Dans ce cas, vous devez utiliser le mappage de domaine pour associer des valeurs domainName à des noms de domaine User Management. Chaque mappage doit se trouver sur une ligne distincte :
domain1=UMdomain1
domain2=UMdomain2
domain3=UMdomain3
Pour connaître la procédure de configuration des référents autorisés, voir Configuration des référents autorisés.
Vous pouvez recourir au mécanisme SPNEGO (Simple and Protected GSSAPI Negotiation Mechanism) pour activer l’authentification unique (SSO) lors de l’utilisation d’Active Directory sur votre serveur LDAP dans un environnement Windows. Lorsque la fonction SSO est activée, les pages de connexion d’utilisateur AEM forms ne sont pas requises et n’apparaissent pas.
Vous pouvez également activer la fonction SSO à l’aide d’en-têtes HTTP (voir Activation de la fonction SSO à l’aide d’en-têtes HTTP).
-
Dans Active Directory, créez un utilisateur représentant le serveur AEM forms (voir Création d’un compte utilisateur). Si vous configurez plusieurs domaines pour qu’ils utilisent SPNEGO, vérifiez que les mots de passe de tous les utilisateurs sont différents. Si des mots de passe sont identiques, l’authentification unique de SPNEGO ne fonctionne pas.
-
Mappez le nom principal de service (voir Mappage d’un nom principal de service (SPN)).
-
Configurez le contrôleur de domaine (voir Prévention des échecs de contrôle d’intégrité de Kerberos).
-
Ajoutez ou modifiez un domaine d’entreprise, comme indiqué dans les sections Ajout de domaines ou Modification et conversion de domaines. Lors de la création ou de la modification du domaine d’entreprise, procédez comme suit :
Ajoutez ou modifiez un annuaire qui contient vos informations Active Directory.
Ajoutez LDAP en tant que fournisseur d’authentification.
Ajoutez Kerberos en tant que fournisseur d’authentification. Fournissez les informations suivantes dans la page Nouvelle authentification ou Modifier l’authentification pour Kerberos :
Fournisseur d’authentification : Kerberos
IP DNS : l’adresse IP du serveur DNS qui exécute AEM forms. Vous pouvez déterminer cette adresse IP en exécutant ipconfig/all sur la ligne de commande.
Hôte KDC : nom d’hôte complet ou adresse IP du serveur Active Directory utilisé pour l’authentification
Utilisateur du service : nom principal de service (SPN) transmis à l’outil KtPass. Dans l’exemple précédent, l’utilisateur du service est HTTP/lcserver.um.lc.com.
Domaine d’administration du service : nom de domaine pour Active Directory. Dans l’exemple précédent, le nom de domaine est UM.LC.COM.
Mot de passe du service : mot de passe de l’utilisateur du service. Dans l’exemple précédent, le mot de passe du service est password.
Activer SPNEGO : active l’utilisation de SPNEGO pour l’authentification unique (SSO). Sélectionnez cette option.
-
Configurez les paramètres du navigateur client SPNEGO (voir Configuration des paramètres du navigateur client SPNEGO).
-
Dans SPNEGO, enregistrez un service en tant qu’utilisateur dans Active Directory sur le contrôleur de domaine pour représenter AEM forms. Dans le contrôleur de domaine, sélectionnez Démarrer > Outils d’administration > Utilisateurs et ordinateurs Active Directory. Si les Outils d’administration ne figurent pas dans le menu Démarrer, utilisez le Panneau de configuration.
-
Procurez-vous l’utilitaire KtPass. Cet utilitaire sert au mappage d’un SPN sur un DOMAINE. Vous pouvez obtenir l’utilitaire KtPass dans le pack d’outils ou dans le Kit de ressources techniques de Windows Server (Voir Outils de support de Windows Server 2003 Service Pack 1.)
-
Dans une invite de commande, exécutez ktpass à l’aide des arguments suivants :
ktpass -princ HTTP/hôte@DOMAINE -mapuser utilisateur
Par exemple, saisissez le texte suivant :
ktpass -princ HTTP/lcserver.um.lc.com@UM.LC.COM -mapuser spnegodemo
Les valeurs à fournir sont décrites ci-dessous :
hôte : nom complet du serveur Forms ou URL univoque. Dans notre exemple, il s’agit de lcserver.um.lc.com.
DOMAINE : domaine Active Directory du contrôleur de domaine. Dans notre exemple, il s’agit de UM.LC.COM. Assurez-vous de saisir le domaine en lettres majuscules. Pour déterminer le domaine pour Windows 2003, procédez comme suit :
Cliquez sur Poste de travail avec le bouton droit de la souris et sélectionnez Propriétés.
Cliquez sur l’onglet Nom de l’ordinateur. La valeur Nom du domaine est celle que vous recherchez.
utilisateur : nom d’ouverture de session du compte utilisateur créé dans la tâche précédente. Dans notre exemple, il s’agit de spnegodemo.
DsCrackNames returned 0x2 in the name entry for spnegodemo. ktpass:failed getting target domain for specified user.
ktpass -princ HTTP/lcserver.um.lc.com@UM.LC.COM -mapuser spnegodemo
Pour que l’authentification SPNEGO fonctionne, l’ordinateur client doit faire partie du domaine dans lequel le compte utilisateur a été créé. Vous devez également configurer le navigateur client pour autoriser l’authentification SPNEGO. De même, le site exigeant une authentification SPNEGO doit être un site de confiance.
Si vous accédez au serveur au moyen du nom de l’ordinateur, par exemple http://lcserver:8080, aucun paramètre n’est nécessaire pour Internet Explorer. Si vous saisissez une URL ne contenant aucun point (« . »), Internet Explorer traite le site comme un site intranet local. Si vous utilisez un nom qualifié complet pour le site, ce site doit être de confiance.
-
Dans la liste qui s’affiche, cliquez sur network.negotiate-auth.trusted-uri, puis saisissez l’une des commandes suivantes selon votre environnement :
.um.lc.com : configure Firefox en vue d’autoriser SPNEGO pour toutes les URL se terminant par um.lc.com. N’oubliez pas d’insérer le point (« . ») au tout début.
lcserver.um.lc.com : configure Firefox en vue d’autoriser SPNEGO pour un serveur spécifique uniquement. Ne faites pas précéder cette valeur d’un point (« . »).