L'authentification SSO pour domaines Windows **IMPORTANT** Cette méthode d'authentification, ne peut fonctionner qu'en intranet, ou en VPN. Le principe est de ne pas avoir à saisir de mot de passe pour rentrer dans l'application GED, mais de se baser sur l'utilisateur connecté à la session Windows. Disponible à partir de la révision 7280 ====== Configuration côté Serveur ====== ===== Apache 2.2 ===== 1. Installation du module Apache mod_auth_sspi Extraire et copier le fichier mod_auth_sspi.so pour apache2.2 dans le répertoire apache2\modules {{:doc:admin:mod_auth_sspi.zip|}} Editer le fichier de configuration httpd.conf et Ajouter le chargement du module avant les Alias LoadModule sspi_auth_module modules/mod_auth_sspi.so Ajouter les directives suivantes dans les deux directory www et www3 AuthType SSPI SSPIAuth On SSPIDomain 192.168.1.3 SSPIAuthoritative On SSPIOfferBasic Off SSPIPerRequestAuth On require valid-user voir exemple ci-dessous : Alias "/ezged2" "C:/nchp/usr/local/nchp/ezged/www/" Options Indexes FollowSymLinks Includes AuthType SSPI SSPIAuth On SSPIDomain 192.168.1.3 SSPIAuthoritative On SSPIOfferBasic Off SSPIPerRequestAuth On require valid-user AllowOverride All Allow from all Alias "/ezged" "C:/nchp/usr/local/nchp/ezged/www3/" Alias "/ezged3" "C:/nchp/usr/local/nchp/ezged/www3/" Options Indexes FollowSymLinks Includes AuthType SSPI SSPIAuth On SSPIDomain 192.168.1.3 SSPIAuthoritative On SSPIOfferBasic Off SSPIPerRequestAuth On require valid-user AllowOverride All Allow from all Redémarrer le service Apache2.2 ===== Apache 2.4 ===== ==== mod_authn_ntlm ==== Pour apache 2.4 c'est le module mod_authn_ntlm qui semble fonctionner le mieux. Le github du projet: https://github.com/TQsoft-GmbH/mod_authn_ntlm Le binaire du module: * Pour un apache 32 bits : http://updates.nchp.net/apache24/mod_authn_ntlm-1.0.8-x86-vc15.zip * Pour un apache 64 bits : http://updates.nchp.net/apache24/mod_authn_ntlm-1.0.8-x64-vc15.zip Les binaires ci-dessus ainsi que d'autres versions (VC16) sont téléchargeables aussi sur https://www.apachehaus.com/cgi-bin/download.plx Le fichier mod_authn_ntlm est à placer dans le répertoire des modules d'apache (e.g: C:\nchp\apache) \\ Il convient ensuite d'activer le module en ajoutant la ligne suivante dans le fichier httpd.conf: LoadModule auth_ntlm_module modules/mod_authn_ntlm.so Il faut également activer le module headers: LoadModule headers_module modules/mod_headers.so Avant d'aller plus loin redémarrez Apache afin de vous assurer qu'aucune erreur ne survient. Si c'est le cas c'est sans doute que la version du module n'est pas compatible avec la version d'apache. L'architecture cible et la version de visual studio utilisée pour la compilation doit être la même pour apache et le module. Configuration du directory: RequestHeader unset X_ISRW_PROXY_AUTH_USER Alias "/ezged" "C:\nchp/usr/local/nchp/ezged/www" Options Indexes FollowSymLinks Includes AuthType SSPI NTLMAuth On NTLMAuthoritative On NTLMDomain 192.168.1.30 Require valid-user RequestHeader set X_ISRW_PROXY_AUTH_USER expr=%{REMOTE_USER} RequestHeader unset X_ISRW_PROXY_AUTH_USER est à placer avant tout les alias et directory qui sont définis dans la section Ezged de la config Apache. Sinon il ne sera pas fait pour les alias/directory évalués avant ====== Configuration côté Client ====== - Firefox Tapez about:config Changez les variables suivantes : network.automatic-ntlm-auth.trusted-uris http://urldebasedemonserveurged network.auth.use-sspi true - Internet explorer Dans options onglet Avancé d'Internet Explorer , dans sécurité, cocher *Activer l'authentification Windows intégrée. Dans options onglet Sécurité dans la zone intranet local ajouter le site http://urldebasedemonserveurged ====== Configuration EzGED ====== Modification du fichier config_local.php dans c:\nchp\usr\local\nchp\ezged\www Ajouter les lignes suivantes : //// SSO Windows authentication /** This parameter is used to enabled/disabled active directory authentication @param $authw2ksso : 0 => disabled , 1 => enabled */ $authw2ksso=1; $usercreationgroup =2 ; //id of group to create unknown usr in -> 0 = no automatic creation of users le $usercreationgroup =2 , indique l'id du groupe vers lequel seront créés les utilisateurs inconnus dans EzGED, si vous ne souhaitez pas créer automatiquement les utilisateurs, mettez 0 ====== Comptes users ====== Chaque compte est automatiquement créé dans la GED lorsque l'user se connecte la première fois.