Pour les versions 2013-05-10 “Weatherwax” et supérieures voir AuthAD Pour les plus anciennes versions, jusqu'à 2012-10-13 “Adora Belle”, voir ci-dessous. |
Ce back office d'authentification permet à DokuWiki de s'identifier aupres d'un serveur Active Directory.
Bien que l'authentification Active Directory puisse être faite avec le back office LDAP, il est plus facile de le faire avec ce back office. Il utilise l'excellente bibliothèque adLDAP et est basé sur un travail de James Van Lommel.
De plus il permet d'utiliser NTLM pour du SSO.
Ce back office pourrait être inclu dans une version future de DokuWiki
Téléchargez le fichier suivant et décompressez le dans le dossier inc/auth/
:
Sous Ubuntu avec Apache 2 il vous faut vérifiez que l'extension PHP LDAP est activé, sinon vous aurez le message “User authentication is temporarily unavailable. If this situation persists, please inform your Wiki Admin”.
sudo apt-get install php5-ldap
Cela installera les modules nécessaires. Il faudra redémarrer Apache pour que les modifications soit prise en compte.
sudo /etc/init.d/apache2 restart
Pour éviter qu'elle soit écrasée par le gestionnaire de configuration, il est recommandé de placer la configuration dans le fichier conf/local.protected.php
.
Paramètres minimal :
<?php // general DokuWiki options $conf['useacl'] = 1; $conf['disableactions'] = 'register'; $conf['authtype'] = 'ad'; // configure your Active Directory data here $conf['auth']['ad']['account_suffix'] = '@my.domain.org'; $conf['auth']['ad']['base_dn'] = 'DC=my,DC=domain,DC=org'; $conf['auth']['ad']['domain_controllers'] = 'srv1.domain.org, srv2.domain.org'; //multiple can be given
Paramètres optionnels :
$conf['auth']['ad']['sso'] = 1; $conf['auth']['ad']['ad_username'] = 'root'; $conf['auth']['ad']['ad_password'] = 'pass'; $conf['auth']['ad']['real_primarygroup'] = 1; $conf['auth']['ad']['use_ssl'] = 1; $conf['auth']['ad']['debug'] = 1;
Pour donner les droits de superuser, utilisez :
$conf['manager'] = '@LDAPGROUPNAME'; or $conf['superuser'] = '@LDAPGROUPNAME';
Note : les espaces dans le nom du groupe sont a remplacer par un _, @Domain_Users au lieu de @Domain Users
Reportez vous a adLDAP documentation pour une description des options.
Single Sign On (SSO) signifie que DokuWiki va utiliser les identifiants Windows pour vous identifier sans avoir besoin de vous identifier. Cela repose sur la variable serveur REMOTE_USER
. Le back office AD va l'utiliser pour récupérer d'autres données tel que les groupes.
Pour que cela fonctionne il faut activer le paramètre sso
dans local.protected.php
et surement fournir configurer un compte avec assez de droit pour récupérer les informations des utilisateurs info :
$conf['auth']['ad']['sso'] = 1; $conf['auth']['ad']['ad_username'] = 'MyManager'; $conf['auth']['ad']['ad_password'] = 'ManagerPass';
Il faudra en plus modifier les paramètres de vos navigateur et serveur web.
First configure IIS to use the Windows Logon for authentication (see screenshots):
inetmgr
Then make sure NTLM is used as authentication protocol. This has to be done on the commandline:
cmd
cd \Inetpub\Adminscripts
cscript adsutil.vbs get w3svc/NTAuthenticationProviders
cscript adsutil.vbs set w3svc/NTAuthenticationProviders “NTLM”
Now restart IIS.
Téléchargez http://sourceforge.net/projects/mod-auth-sspi/
Copiez le fichier mod_auth_sspi.so
dans votre répertoire de modules Apache.
Ajoutez les lignes suivantes au fichier httpd.conf :
LoadModule sspi_auth_module modules/mod_auth_sspi.so <Directory "c:/wamp/www/"> AuthName "My Intranet" AuthType SSPI SSPIAuth On SSPIAuthoritative On require valid-user </Directory>
Et redémarrez Apache.
add info about mod_ntlm and similar here
add detailed description
http://intranet.company.com,http://email.company.lan
Vous pouvez separer les sites avec une virgule.