Plugin Authentification NTLM - Manuel d'intégration v1.0.0

Récupération des identifiants: CredentialProvider

Le plugin fournit un nouveau point d'extension de type org.ametys.runtime.authentication.CredentialsProvider en charge de récupérer les identifiants de connexion de l'utilisateur via le protocol NTLM.

Modifiez le fichier WEB-INF/param/runtime.xml pour utiliser ce point d'extension:

<org.ametys.runtime.authentication.CredentialsProvider>org.ametys.plugins.ntlm.authentication.NTLM</org.ametys.runtime.authentication.CredentialsProvider>

Le gestionnaire des utilisateurs est nécessairement le gestionnaire LDAP (fichier WEB-INF/param/runtime.xml):

<org.ametys.runtime.user.UsersManager>org.ametys.runtime.plugins.core.Ldap</org.ametys.runtime.user.UsersManager>

Gestionnaire d'authentification

Le point d'extension org.ametys.runtime.authentication.AuthenticationManager détermine si le login est autorisé à se connecter à l'application.

Dans le fichier WEB-INF/param/authentication.xml vous devez utiliser le gestionnaire org.ametys.runtime.plugins.core.authentication.HasRightAuthentication 

<authentications>
    <authentication>org.ametys.runtime.plugins.core.authentication.HasRightAuthentication</authentication>
</authentications>

Pour en savoir plus sur l'authentification des utilisateurs dans Ametys et le choix des gestionnaires, rendez-vous sur la page Authentification des utilisateurs

Configuration Apache

La configuration de votre serveur Apache (fichier httpd.conf) doit comporter les régles suivantes:

httpd.conf

# Rules for NTLM authentication by Jespa
RewriteRule .* - [E=INFO_REMOTE_ADDR:%{REMOTE_ADDR},NE]
RewriteRule .* - [E=INFO_REMOTE_PORT:%{REMOTE_PORT},NE]
RequestHeader set Jespa-Connection-Id "%{INFO_REMOTE_ADDR}e:%{INFO_REMOTE_PORT}e"

Attention, il faut que mod_headers soit activé dans la configuration Apache.

Environnement de test ou développement

Pour votre environnement de test ou de développement, vous pouvez télécharger la librairie Jespa de démonstration, valide 60 jours : http://www.ioplex.com/downloads.php

Copiez-coller le jar jespa-1.1.x.jar dans le répertoire WEB-INF/lib de votre application.

Déploiement en production

Pour un déploiement en production, vous devez acheter la version payante de Jespa en achetant la licence auprès de IOPLEX: http://www.ioplex.com/purchase.php

Suivez ensuite les instruction par mail pour mettre à jour la librairie Jespa avec la license.

Copiez-coller le jar jespa-1.1.x.jar dans le répertoire WEB-INF/lib de votre application.

Création d'un Computer Account

Après avoir télécharger Jespa, utilisez la procédure SetupWizard.vbs pour créer un Computer Account dans Active Directory avec un nom finissant par $ de 15 caractères maximum ($ compris)

Ce compte permettra d'accéder au service NETLOGON pour pouvoir vérifier l'authentification des utilisateurs.

Définissez le mot de passe du Computer Account grâce à la procédure SetComputerPasssword.vbs:
SetComputerPassword [computer_account_name]$@[domain] [password]