Authentification utilisateur

Traduction à compléter

administrateurs (intermédiaire)
AuthUser est le système d'autorisation de PmWiki basé sur un système d'identification qui permet d'accéder aux pages à travers l'usage de noms d'utilisateurs et de mots de passe. AuthUser peut être utilisé en plus du système par défaut comportant uniquement des mots de passe.

AuthUser est un système très flexible pour gérer le contrôle d'accès aux pages, mais la flexibilité peut aussi ajouter de la complexité et augmenter la charge de maintenance pour l'administrateur du wiki. C'est pourquoi PmWiki dispose par défaut d'un système des plus simples utilisant uniquement des mots de passe. Pour plus de détails sur les avantages respectifs des deux approches, voir PmWiki:ThoughtsOnAccessControl.

Activer AuthUser

Pour activer le système d'autorisation basé sur l'identifiant, ajouter la ligne suivante au fichier local/config.php :

    include_once("$FarmD/scripts/authuser.php");

Créer des comptes utilisateurs

La plus grande partie de la configuration de AuthUser est faite via la page Site.AuthUser. Pour changer la configuration du script AuthUser, il faut simplement modifier cette page comme toute autre page du wiki (vous devriez normalement avoir besoin du mot de passe du site pour cela).

Pour créer un compte login, ajoutez simplement des lignes à la page Site.AuthUser comme suit:

    username: (:encrypt password:)

Par exemple, pour créer un compte login pour "alice" avec un mot de passe "paysdesmerveilles", spécifiez :

    alice: (:encrypt paysdesmerveilles:)

Quand la page sera sauvée, la partie du texte "(:encrypt paysdesmerveilles:)" sera remplacée par une forme chiffrée du mot de passe "paysdesmerveilles". Ce chiffrement est fait de manière à ce que quelqu'un regardant la page Site.AuthUser ne puisse pas aisément trouver le mot de passe stocké dans la page.

Pour une meilleure sécurité, mettre un mot de passe en lecture sur la page Site.AuthUser.

Pour le changement ou la mise à zéro d'un mot de passe de compte, remplacez simplement la chaîne chiffrée par une autre directive (:encrypt:).

Contrôler l'accès aux pages par login

Les Pages et les groupes peuvent être protégés en se basant sur le login du compte en utilisant "passwords" sous la forme id:username dans le champ du mot de passe ?action=attr (voir PmWiki.Passwords). Par exemple, pour restreindre une page ayant été éditée par Alice, on peut appliquer le mot de passe "id:alice".

Il est possible d'utiliser plusieurs déclarations d'"id:" et de mot de passe dans le formulaire ?action=attr, ainsi le paramétrage suivant donne l'accès à Alice, Carole, et quiconque connait le mot de passe "rapide":

    rapide id:alice,carole

Pour donner l'accès à toute personne qui s'est connectée avec succès, utilisez "id:*".

On peut aussi mettre en place des restrictions basées sur l'identité pour tout le site dans le tableau $DefaultPasswords : càd

    # Nécessite une identification valide avant de voir la page
    $DefaultPasswords['read'] = 'id:*';
    # Alice et Carole peuvent éditer
    $DefaultPasswords['edit'] = 'id:alice,carole';
    # Tous les admin et Fred peuvent éditer
    $DefaultPasswords['edit'] = array(' <at> admins', 'id:Fred');

Vous pouvez changer le tableau par défaut $DefaultPasswords dans les fichiers de configuration locaux comme par exemple :

  • local/config.php (pour tout le wiki)
  • farmconfig.php (pour toute la ferme de wiki)

Organiser les compte par groupes

AuthUser permet aussi de rassembler des comptes de login dans des groupes d'autorisation, indiqués par le symbole "@" au début du nom du groupe. Comme pour des comptes individuels, l'appartenance à un groupe est gérée en éditant la page Site.AuthUse. L'appartenance à un groupe peut être spécifiée soit en listant les groupes pour un login (la personne appartient à des groupes) soit en listant les login pour un groupe (le groupe contient des personnes). Vous pouvez répéter et mélanger ces deux types d'instruction :

    @writers: alice, bob
    carol: @writers, @editors
    @admins: alice, dave

Ensuite, pour restreindre l'accès à une page à un groupe particulier, utilisez simplement "@group" comme "mot de passe" dans ?action=attr ou dans le tableau $DefaultPasswords, de la même manière que "id:username" est utilisé pour n'autoriser l'accès qu'à des comptes individuels spécifiques.

Exclure des individus des groupes de mots de passe

Group password memberships are maintained by editing the Site.AuthUser page. To specify a password group that allows access to anyone who is authenticated, you can specify:

    @wholeoffice: *

Si vous vouliez exclure "Fred" de ce groupe, vous pourriez essayer ceci :

    @wholeoffice: *, -Fred

...sauf que cela ne marche pas. You can, however, get the desired result by using the first setting (@wholeoffice: *) on the Site.AuthUser page and then setting the password for the page or group you wish to protect in ?action=attr or the $DefaultPasswords array to "id:*, -Fred".

Obtenir les noms des comptes et les mots de passe depuis des sources externes

Le script AuthUser a la possibilité d'obtenir les couples identifiant/mot-de-passe depuis d'autres sources que la page Site.AuthUser, comme des fichiers passwd ('.htpasswd' sur serveurs Apache), des serveurs LDAP ou même le fichier local/config.php.

Passwd-formatted files (.htpasswd)

Passwd-formatted files, commonly called .htpasswd files in Apache, are text files where each line contains a username and an encrypted password separated by a colon. A typical .htpasswd file might look like:

    alice:vK99sgDV1an6I
    carol:Q1kSeNcTfwqjs

To get AuthUser to obtain usernames and passwords from a .htaccess file, add the following line to Site.AuthUser, replacing "/path/to/.htpasswd" with the filesystem path of the .htpasswd file:

    htpasswd: /path/to/.htpasswd

Creation and maintenance of the .htpasswd file can be performed using a text editor, or any number of other third-party tools available for maintaining .htpasswd files. The Apache web server typically includes an htpasswd command for creating accounts in .htpasswd:

    $ htpasswd /path/to/.htpasswd alice
    New password:
    Re-type new password:
    Adding password for user alice
    $

Configuration via local/config.php

AuthUser configuration settings can also be made from the local/config.php file in addition to the Site.AuthUser page. Such settings are placed in the $AuthUser array, and must be set prior to including the authuser.php script. Some examples:

    # set a password for alice
    $AuthUser['alice'] = crypt('wonderland');
    # set a password for carol
    $AuthUser['carol'] = '$1$CknC8zAs$dC8z2vu3UvnIXMfOcGDON0';
    # Use local/.htpasswd for usernames/passwords
    $AuthUser['htaccess'] = 'local/.htpasswd';

Définir le nom de l'auteur

Par défaut, PmWiki utilise le nom d’utilisateur dans le champ "Auteur" du formulaire de modification de page, mais permet à l'utilisateur de changer cette valeur avant de sauvegarder ses modifications. Pour empêcher ceci (et donc forcer l'utilisation du nom d'utilisateur en tant que nom d'auteur), utilisez les instructions ci-dessous dans votre fichier local/config.php :

    include_once("$FarmD/scripts/authuser.php");
    $Author = $AuthId;

Voir aussi

<< Administration des mots de passe | Index Doc Admin | Administration des fichiers joints >>



Traduction de PmWiki.AuthUser
Page originale sur PmWikiFr.AuthUser - Référencé par

Dernières modifications:
PmWikiFr.AuthUser: 23 janvier 2014 à 12h01

PmWiki.AuthUser: 01 septembre 2023 à 14h36