AEM Forms offre deux méthodes d’activation de l’authentification unique (SSO) : 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.
Dans Administration Console, cliquez sur Paramètres > User Management > Configuration > Configurer les attributs de portail.
Sélectionnez Oui pour activer l’authentification unique. Si vous sélectionnez Non, les autres paramètres de la page ne sont pas disponibles.
Définissez les autres options de la page au besoin, puis cliquez sur OK :
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).
AEM Forms on JEE ne prend pas en charge la configuration de l’authentification unique à l’aide de Kerberos/SPNEGO dans plusieurs environnements d’un domaine enfant .
Déterminez le domaine à utiliser pour activer la fonction SSO. Les utilisateurs et le serveur AEM forms doivent appartenir au même domaine Windows ou à un domaine de confiance.
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 :
ipconfig/all
sur la ligne de commande.HTTP/lcserver.um.lc.com
.UM.LC.COM.
password
.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.
Cliquez sur le dossier Utilisateurs pour afficher une liste des utilisateurs.
Cliquez avec le bouton droit de la souris sur le dossier Utilisateurs, puis sélectionnez Nouveau > Utilisateur.
Saisissez le prénom/nom et le nom d’ouverture de session de l’utilisateur, puis cliquez sur Suivant. Par exemple, définissez les valeurs suivantes :
Saisissez un mot de passe. Saisissez par exemple password. Veillez à ce que la seule option activée soit Le mot de passe n’expire jamais.
Cliquez sur Suivant, puis sur Terminer.
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 -mapuser
utilisateur @
REALM
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 :
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.
Si vous rencontrez cette erreur :
DsCrackNames returned 0x2 in the name entry for spnegodemo.
ktpass:failed getting target domain for specified user.
Essayez de spécifier l’utilisateur comme étant spnegodemo@um.lc.com :
ktpass -princ HTTP/lcserver.um.lc.com@UM.LC.COM -mapuser spnegodemo
spnegodemo
.password
.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 l’accès au serveur s’effectue à l’aide du nom de l’ordinateur, par exemple https://lcserver:8080*,* , aucun paramètre n’est requis 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.
Configuration d’Internet Explorer 6.x
https://lcserver.um.lc.com
https://lcserver.um.lc.com:8080/um/login?um_no_redirect=true
.Configuration de Mozilla Firefox
Dans la zone d’URL du navigateur, saisissez about:config
.
La boîte de dialogue about:config - Mozilla Firefox s’ouvre.
Dans la zone Filtre, saisissez negotiate
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 pour autoriser SPNEGO pour toute URL qui se termine par um.lc.com. Veillez à inclure le point (« . ») au 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 (« . »).
Testez la configuration en accédant à l’application. La page d’accueil de l’application cible s’affiche.