Un wiki comme carnet de cours

PmWikiFr / Authentification utilisateur

Traduction à compléter

administrateurs (intermédiaire)
Auth User est le système Pm Wiki d'autorisation 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.

Auth User 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 Pm Wiki dispose par défaut d'un système utilisant un mot de passe des plus simples. Pour plus de détails sur les avantages respectifs des deux approches, voir PmWiki:ThoughtsOnAccessControl.

Activer Auth User

Pour activer le système Pm Wiki d'autorisation basé sur l'identité, 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 Auth User est faite via la page Site.AuthUser. Pour changer la configuration de Auth User, il faut simplement éditer cette page comme toute autre page du wiki (vous devriez normalement avoir besoin du mot de passe du site pour celà).

Pour créer un compte login, ajouter simplement des lignes à la page Site.Auth User qui sont définies comme suit:

    username: (:encrypt password:)

Par exemple, pour créer un compte login pour "alice" avec un mot de passe "mondemerveilleux", enter:

    alice: (:encrypt mondemerveilleux:)

Quand la page sera sauvée, la partie du texte "(:encrypt mondemerveilleux:)" sera remplacée par une forme encryptée du mot de passe "mondemerveilleux". Ce cryptage est fait de manière à ce que quelqu'un regardant la page Site.Auth User 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.Auth User.

Pour le changement ou la mise à zéro d'un mot de passe de compte, remplacez simplement la chaîne crypté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 :

Organiser les compte par groupes

Auth User permet aussi de rassembler des comptes de login dans des groupes d'autorisation, que le reconnait 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.Auth Use?. 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). You can repeat or mix-and-match the two kinds as desired:

    @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.Auth User page. To specify a password group that allows access to anyone who is authenticated, you can specify:

    @wholeoffice: *

If you need to keep "Fred" out of this password group, you might try:

    @wholeoffice: *, -Fred

... but this does not work. You can, however, get the desired result by using the first setting (@wholeoffice: *) on the Site.Auth User 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

The Auth User script has the capability of obtaining username/password pairs from places other than the Site.Auth User page, such as passwd-formatted files (usually called '.htpasswd' on Apache servers), LDAP servers, or even the local/config.php file.

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:Q1k Se Nc Tfwqjs?

To get Auth User to obtain usernames and passwords from a .htaccess file, add the following line to Site.Auth User, 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

Auth User configuration settings can also be made from the local/config.php file in addition to the Site.Auth User 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

By default, Pm Wiki will use a login name in the Author field of the edit form, but allows the author to change this value prior to saving. To force the login name to always be used as the author name, use the following sequence to activate Auth User:

    include_once("$FarmD/scripts/authuser.php");
    $Author = $Auth Id?;

Voir aussi

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

Imprimé depuis http://fontste.free.fr/pmwiki/index.php5?n=PmWikiFr.AuthUser
Page modifiée le 26/08/2008 à 00:08 par Alain Bolli - alainbolligmailcom (IP 81.49.227.45)