Authentification et groupes d'accès

L’authentification sur le wiki se fait grâce au serveur LDAP. Tout membre ayant un compte LDAP peut donc se connecter au wiki.

Pour passer d’une méthode d’authentification basée sur la création de comptes spécifiques à Dokuwiki vers l’utilisation d’un annuaire LDAP, quelques changements sont nécessaires. Attention, toujours faire ces tests sur un wiki de test, sous peine de perdre toute possibilité de s’authentifier.

  • Veiller à ce que l’extension PHP LDAP soit installée (sous Debian-like : php7.0-ldap)
  • Activer le plugin LDAP (Administrer → Gestionnaire d’extensions → LDAP Auth Plugin → Activer)
  • Changer les paramètres (Administrer → Paramètres de configuration). Ci-dessous, on trouve un extrait de html/config/local.php, présent à la racine du volume Dokuwiki et qui correspond aux paramètres personnalisés. Ces derniers peuvent être modifiés depuis l’interface d’administration, mais il est plus pratique de copier le fichier de configuration :
// Utiliser les ACL
$conf['useacl'] = 1;
// Méthode d'authentification
$conf['authtype'] = 'authldap';
// Adresse du serveur LDAP
$conf['plugin']['authldap']['server'] = 'ldaps://ldap.picasoft.net';
$conf['plugin']['authldap']['port'] = 636;
// DN des users et des groupes
$conf['plugin']['authldap']['usertree'] = 'ou=People,dc=picasoft,dc=net';
$conf['plugin']['authldap']['grouptree'] = 'ou=Groups,dc=picasoft,dc=net';
// Filtre pour trouver l'utilisateur : on cherche une entrée posixAccount avec l'UID correspondant
$conf['plugin']['authldap']['userfilter'] = '(&(uid=%{user})(objectClass=posixAccount))';
// Filtre pour chercher les groupes : ce sont des posixGroup et on peut chercher par GID ou par utilisateur (groupe secondaire)
$conf['plugin']['authldap']['groupfilter'] = '(&(objectClass=posixGroup)(|(gidNumber=%{gid})(memberUid=%{user})))';
// À ne pas changer
$conf['plugin']['authldap']['version'] = 3;
// Compte LDAP en lecture seule sur les utilisateurs (sans le mot de passe!)
$conf['plugin']['authldap']['binddn'] = 'cn=wiki,ou=Services,dc=picasoft,dc=net';
// Hash du mot de passe du compte lecture seule, plus facile de le set depuis l'interface
$conf['plugin']['authldap']['bindpw'] = 'XXXX';
// Quel champ donne le nom de la personne ?
$conf['plugin']['authldap']['userkey'] = 'cn';
// Permettre la modif de mot de passe LDAP depuis Dokuwiki
$conf['plugin']['authldap']['modPass'] = 1;

Tout devrait être bon. On pourra afficher les informations de debug une fois connecté pour vérifier que l’on appartient bien aux bon groupes. Ensuite, on refera les ACL en fonction des nouveaux groupes LDAP.

  • technique/adminserv/wiki/auth_acl.1611091390.txt.gz
  • de qduchemi