Apps

Module SSO Windows (NTLM) 2.1.2

Description

Ce module ajoute le support des authentifications basées sur le protocole NTLM pour permettre une authentification unique (SSO) des clients Windows.

Attention

A partir de JCMS 9 ce module est remplacé par le module Waffle.

Merci d'utiliser ce nouveau module au lieu du module SSO Windows.


Installation

Attention :

Ce module utilise le protocole NTLM v1 qui n'est plus supporté par Microsoft.

Nous recommandons fortement l'utilisation du Module d'Authentification Windows - Waffle qui permet l'authentification unique (SSO) des clients Windows grâce au protocole SPNEGO (NTLMv2 & Kerberos).

 

Installation

Ajouter ce module avec le gestionnaire de modules et redémarrer JCMS.

Principe de fonctionnement

  1. L'utilisateur ouvre sa session Windows sur un poste client.
    Son authentification s'effectue grâce une base d'utilisateurs centralisée de type domaine NT. Ce domaine doit être accessible par la machine hébergeant JCMS (tout comme dans l'exemple précédent, les noms d'utilisateurs entre cette base et JCMS doivent être les mêmes, à moins de mettre en place une table de correspondance dans le gestionnaire d'authentification).
  2. L'utilisateur se connecte sur JCMS avec son navigateur qui transmet automatiquement l'authentification de l'utilisateur.
    Sous Internet Explorer cette authentification est envoyée automatiquement sur les sites intranet locaux. Ce comportement peut-être modifié en personnalisant le(s) niveau(x) de sécurité dans l'onglet sécurité des options de Internet Explorer.
    Sous Firefox, il faut ajouter l'adresse du serveur web hébergeant JCMS dans la liste des serveurs recevant automatiquement l'authentification NTLM, ceci est réglable en tapant about:config dans le navigateur et en y modifiant la propriété network.automatic-ntlm-auth.trusted-uris (peut aussi être effectué dans le fichier pref.js situé dans le profil de l'utilisateur).
  3. JCMS reçoit l'authentification NTLM dans la requête et authentifie le membre. On utilise la librairie JCIFS qui fourni un ServletFilter (NtlmHttpFilter) pour traiter l'authentification NTLM envoyée et positionner l'utilisateur authentifié dans la requête.
  4. Si le membre n'existe pas dans JCMS, on le crée en utilisant la connexion LDAP (en général ActiveDirectory). Le connexion LDAP doit être activée et correctement configurée dans JCMS.
    Notez bien que dans l'exemple qui suit, les membres ne seront pas synchronisés après leur création initiale, et qu'aucune connexion au LDAP ne sera effectuée en dehors de cette création.

Configuration LDAP

Configurez la connexion LDAP de JCMS avec votre serveur Active Directory.

Faites un test de connexion d'un utilisateur encore inexistant dans JCMS pour vous assurer que la synchronisation s'effectue correctement.

Configuration NTLM

Ajoutez dans votre fichier de déploiement web.xml, le filtre HTTP NTLM de la librairie JCIFS. Configurez-le suivant votre architecture, pour plus d'information la configuration de ce module : http://jcifs.samba.org/src/docs/ntlmhttpauth.html

Assurez-vous de déclarer les sections <filter> et <filter-mapping> de la NtlmHttpFilter AVANT les sections correspondantes de la InitFilter. En effet l'authentification NTLM est récupérée par JCMS dans la InitFilter et il est donc nécessaire que la NtlmHttpFilter soit invoquée avant. 

Exemple de configuration typique pour un controlleur de domaine :

       <filter>
<filter-name>NtlmHttpFilter</filter-name>
<filter-class>jcifs.http.NtlmHttpFilter</filter-class>
<init-param>
<param-name>jcifs.http.domainController</param-name>
<param-value>192.168.0.42</param-value>
</init-param>
<init-param>
<param-name>jcifs.smb.client.domain</param-name>
<param-value>MYDOMAIN</param-value>
</init-param>
<init-param>
<param-name>jcifs.smb.client.username</param-name>
<param-value>anyUserOfMydomain</param-value>
</init-param>
<init-param>
<param-name>jcifs.smb.client.password</param-name>
<param-value>passwordOfUser</param-value>
</init-param>
<init-param>
<param-name>jcifs.smb.lmCompatibility</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>jcifs.smb.client.useExtendedSecurity</param-name>
<param-value>false</param-value>
</init-param>
</filter>

<filter>
<filter-name>initFilter</filter-name>
<filter-class>jcom.jalios.jcms.servlet.InitFilter</filter-class>
[...]
</filter>

[...]

<filter-mapping>
<filter-name>NtlmHttpFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<filter-mapping>
<filter-name>initFilter</filter-name>
<filter-class>jcom.jalios.jcms.servlet.InitFilter</filter-class>
[...]
</filter-mapping>

Attention! Une fois cette servlet configurée, une authentification Windows sera demandée et requise, les autres modes d'authentification ne seront plus disponibles.


Changements

NTLM Plugin - Version 2.1.2

Compatibility with JCMS 7

NTLM Plugin - Version 2.1.1

Improvement

  • Allow JCIFS logging through log4j (a declaration of InitNtlmHttpFilterLog is required in web.xml)
  • Update JCIFS library to version 1.3.12 (jcifs.smb.lmCompatibility=0 and jcifs.smb.client.useExtendedSecurity=false required in web.xml)

NTLM Plugin - Version 2.1

New feature

  • [NTLM-4] - Allow both NTLM and JCMS authentication using rule based mecanism

NTLM Plugin - Version 2.0

Improvement

  • Add compatibility with JCMS 6
  • Update JCIFS library

NTLM Plugin - Version 1.0.1

Bug

  • [NTLM-1] - Ldap synchronisation does not occur if member already exists

Improvement

  • [NTLM-2] - Update to JCIFS library to latest version

NTLM Plugin - Version 1.0

Initial release

Informations

Version
  • 2.1.2
Stabilité
  • Stable
Compatibilité
  • JCMS 6.0
    JCMS 6.1
    JCMS 7
    JCMS 8
Certifié Jalios
  • Oui
Prix
  • Module gratuit
Support
  • Jalios Support
Auteur
  • Jalios SA
Licence
  • Jalios
Taille
  • 466,92 Ko
Mis-à-jour
  • 07/02/11
Téléchargements
  • 25