Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Dernière révision Les deux révisions suivantes | ||
tuto:webapps:llng:dokuwiki [21/03/2011 10:49] dani [Installer le plugin LemonLDAP pour DokuWiki] |
tuto:webapps:llng:dokuwiki [13/07/2012 12:23] dani [Version LL::NG simple] |
||
---|---|---|---|
Ligne 59: | Ligne 59: | ||
===== Installer le plugin LemonLDAP pour DokuWiki ===== | ===== Installer le plugin LemonLDAP pour DokuWiki ===== | ||
- | Il suffit | + | Nous avons écrit 2 plugins permettant |
- | Ce plugin est différent de celui proposé sur le site de LemonLDAP::NG (http:// | + | ==== Version LL::NG simple ==== |
+ | |||
+ | Avec ce plugin, | ||
* le nom complet de l' | * le nom complet de l' | ||
* le mail de l' | * le mail de l' | ||
* la liste des groupes dont un utilisateur est membre ($groups) | * la liste des groupes dont un utilisateur est membre ($groups) | ||
+ | |||
+ | Il suffit de copier/ | ||
<file php lemonldapng.class.php> | <file php lemonldapng.class.php> | ||
Ligne 145: | Ligne 149: | ||
</ | </ | ||
- | ===== Configuration du plugin ===== | ||
Le plugin ne nécessite pas réellement de configuration, | Le plugin ne nécessite pas réellement de configuration, | ||
Ligne 156: | Ligne 159: | ||
</ | </ | ||
- | Enjoy ;-) | + | L' |
+ | |||
+ | ==== Version LDAP ==== | ||
+ | Ce plugin là surcharge simplement le plugin LDAP fournit de base, il ne remplace que la vérification du mot de passe. Ce fichier est à placer dans inc/ | ||
+ | |||
+ | <file php httpldap.class.php> | ||
+ | |||
+ | <?php | ||
+ | /** | ||
+ | * HTTP/LDAP authentication backend | ||
+ | * HTTP (your web server) handle the authentication | ||
+ | * LDAP handle user informations, | ||
+ | * This plugin have been written to work with LemonLDAP:: | ||
+ | * @license | ||
+ | * @author | ||
+ | */ | ||
+ | |||
+ | require(" | ||
+ | class auth_httpldap extends auth_ldap { | ||
+ | var $cnf = null; | ||
+ | |||
+ | /** | ||
+ | * Posible things an auth backend module may be able to | ||
+ | * do. The things a backend can do need to be set to true | ||
+ | * in the constructor. | ||
+ | */ | ||
+ | var $cando = array ( | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ); | ||
+ | |||
+ | |||
+ | /** | ||
+ | * Constructor | ||
+ | */ | ||
+ | function auth_httpldap() { | ||
+ | global $conf; | ||
+ | $this->cnf = $conf[' | ||
+ | |||
+ | // ldap extension is needed | ||
+ | if(!function_exists(' | ||
+ | if ($this-> | ||
+ | msg(" | ||
+ | $this-> | ||
+ | return; | ||
+ | } | ||
+ | |||
+ | if(empty($this-> | ||
+ | if(empty($this-> | ||
+ | if(empty($this-> | ||
+ | } | ||
+ | |||
+ | |||
+ | /** | ||
+ | * Check if REMOTE_USER is set | ||
+ | */ | ||
+ | function trustExternal($user, | ||
+ | global $USERINFO; | ||
+ | $success = false; | ||
+ | $username = $_SERVER[' | ||
+ | // print info if debug is enabled | ||
+ | if ($this-> | ||
+ | msg(' | ||
+ | } | ||
+ | if (!empty($username)){ | ||
+ | $USERINFO = $this-> | ||
+ | $success = true; | ||
+ | $_SESSION[DOKU_COOKIE][' | ||
+ | $_SESSION[DOKU_COOKIE][' | ||
+ | } | ||
+ | // Deny access if user is not found in LDAP | ||
+ | // This should never happen | ||
+ | if (!empty($USERINFO[' | ||
+ | $success = false; | ||
+ | } | ||
+ | return $success; | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | La configuration de ce plugin est parfaitement identique au module LDAP de base, exemple: | ||
+ | <code php> | ||
+ | $conf[' | ||
+ | $conf[' | ||
+ | $conf[' | ||
+ | $conf[' | ||
+ | $conf[' | ||
+ | $conf[' | ||
+ | $conf[' | ||
+ | </ | ||
+ | |||
+ | La seule partie importante ici, c'est **$conf[' |