PmWikiFr /

Authentification utilisateur

GratiWiki: tout le savoir gratuit sur le gratuit

Traduction à compléter

administrateurs (intermédiaire) AuthUser est le système PmWiki 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.

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 utilisant un mot de passe des plus simples. Pour plus de détails sur les avantages respectifs des deux approches, voir PmWiki:ThoughtsOnAccessControl.

Activer AuthUser

Pour activer le système PmWiki 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 AuthUser est faite via la page Site.AuthUser. Pour changer la configuration de AuthUser, 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.AuthUser 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.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 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 :

  • 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, 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.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). 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.AuthUser 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.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

The AuthUser script has the capability of obtaining username/password pairs from places other than the Site.AuthUser 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: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

By default, PmWiki 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 AuthUser:

    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: 10 septembre 2011 à 17h40
PmWiki.AuthUser: 08 mars 2023 à 11h31

Le contenu du site GratiWiki. Wiki ouvert et gratuit sur le gratuit, le DIY et la culture libre, sauf mentions contraires, est sous licence culturelle non-marchande ainsi que toute nouvelle contribution.
Site gratuit, sans publicité, à but non lucratif, communautaire, ouvert à tous ceux qui souhaitent partager leurs savoirs sur les échanges non-marchands, le DIY et la culture libre. Construit avec PmWiki.