Activation de la fonction SSO à l’aide de SPNEGO

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 ).

  1. 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.

  2. 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.

  3. Mappez le nom principal de service (voir Mappage d’un nom principal de service (SPN) ).

  4. Configurez le contrôleur de domaine (voir Prévention des échecs de contrôle d’intégrité de Kerberos ).

  5. 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.

  6. Configurez les paramètres du navigateur client SPNEGO (voir Configuration des paramètres du navigateur client SPNEGO ).

Création d’un compte utilisateur

  1. 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.

  2. Cliquez sur le dossier Utilisateurs pour afficher une liste des utilisateurs.

  3. Cliquez avec le bouton droit de la souris sur le dossier Utilisateurs, puis sélectionnez Nouveau > Utilisateur.

  4. 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 :

    • Prénom : umspnego

    • Nom d’ouverture de session de l’utilisateur : spnegodemo

  5. 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.

  6. Cliquez sur Suivant, puis sur Terminer.

Mappage d’un nom principal de service (SPN)

  1. 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 ).

  2. 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.

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

Prévention des échecs de contrôle d’intégrité de Kerberos

  1. 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.

  2. Cliquez sur le dossier Utilisateurs pour afficher une liste des utilisateurs.

  3. Cliquez avec le bouton droit de la souris sur le compte utilisateur créé à l’étape précédente. Dans notre exemple, le compte utilisateur est spnegodemo .

  4. Cliquez sur Réinitialiser le mot de passe.

  5. Saisissez puis confirmez le mot de passe saisi précédemment. Dans notre exemple, il s’agit de password .

  6. Désélectionnez la case à cocher Modifier le mot de passe à la prochaine ouverture de session, puis cliquez sur OK.

Configuration des paramètres du navigateur client SPNEGO

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.

Configuration d’Internet Explorer 6.x

  1. Sélectionnez Outils > Options Internet, puis cliquez sur l’onglet Sécurité.

  2. Cliquez sur l’icône Intranet local, puis sur Sites.

  3. Cliquez sur Avancé et dans le champ Ajouter ce site Web à la zone, saisissez l’URL du serveur Forms. Par exemple, http://lcserver.um.lc.com

  4. Cliquez plusieurs fois sur OK pour fermer toutes les boîtes de dialogue.

  5. Testez la configuration en accédant à l’URL du serveur AEM forms. Par exemple, dans la zone d’adresse URL du navigateur, saisissez http://lcserver.um.lc.com:8080/um/login?um_no_redirect=true.

Configuration de Mozilla Firefox

  1. Dans la zone d’adresse du navigateur, saisissez about:config .

    La boîte de dialogue about:config - Mozilla Firefox s’ouvre.

  2. Dans la zone Filtre, saisissez negotiate.

  3. 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 (« . »).

  4. Testez la configuration en accédant à l’application. La page d’accueil de l’application cible s’affiche.