aus "Homepage der UniBigBand Kaiserslautern"

PmWikiDe: Passwörter

PmWiki bietet von Haus aus die Möglichkeit, verschiedene Bereiche eines Wikis mit einem Passwort zu schützen. Autoren sind je nach Rechte-Vergabe in der Lage, Passwörter für einzelne Seiten oder Wikigruppen zu vergeben. Administratoren können Passwörter für einzelne Seiten, Gruppen oder das komplette Wiki vergeben. Wie jedes Zugangskontrollsystem trägt der hier beschriebene Passwortschutz nur einen kleinen Teil zur gesamten Wikisicherheit bei.

Einzelne Seite schützen / Schutz aufheben

Um ein Passwort für eine einzelne Seite zu setzen, muss die entsprechende Attribut-Seite aufgerufen werden:

Die Url in der Browser-Zeile wird mit dem Anhang ?action=attr erweitert.

http://www.Beispiel-WEB-Seite.com/pmwiki/pmwiki.php?n=GruppenName.SeitenName?action=attr

Auf der Attributseite können read-, edit-, attr- und/oder upload- Passwörter gesetzt oder mit weiter unten beschriebenen Eingaben, wie clear bzw. nopass gelöscht oder entsprechend verändert werden.

Die im Klartext eingegebenen Passwörter werden intern von PmWiki automatisch vor dem Speichern verschlüsselt.

Zusätzliche Optionen:

clear
@nopass
@lock
@_site_edit

Ganze Gruppe schützen / Schutz aufheben

Um ein Passwort für eine ganze Gruppe zu setzen, muss ebenso die entsprechende Attribut-Seite GroupAttributes aufgerufen werden:

Die Url in der Browser-Zeile wird mit dem Anhang GroupAttributes?action=attr erweitert.

http://www.Beispiel-WEB-Seite.com/pmwiki/pmwiki.php?n=GruppenName.GroupAttributes?action=attr

Auf der Attributseite GroupAttributes können read-, edit-, attr- und/oder upload- Passwörter gesetzt oder mit weiter unten beschriebenen Eingaben, wie clear bzw. nopass gelöscht oder entsprechend verändert werden.

Die im Klartext eingegebenen Passwörter werden intern von PmWiki automatisch vor dem Speichern verschlüsselt.

Zusätzliche Optionen:

clear
@nopass
@lock

Mehrere Passwörter für eine Seite, Gruppe oder Wiki...

...sind möglich. Dazu werden einfach mehrere Passwörter durch Leerzeichen getrennt eingegeben. Damit kann z.B. ein Lese- und ein Schreibpasswort gesetzt werden, wobei das Schreibpasswort gleichzeitig zum Lesen berechtigt.
Mit anderen Worten, wenn das Lesepasswort

alpha

und das Schreibpasswort

beta sein soll:

dann gibt man ein:

read: alpha beta
edit: beta

Damit kann sowohl mit

alpha

als auch mit

beta

eine Seite gelesen werden, aber nur

beta

erlaubt das Bearbeiten. Da PmWiki sich das Passwort seit dem Öffnen des Browserfensters merkt, erlaubt die Eingabe eines Lesepassworts, das auch Schreibpasswort ist, beides.

Als Administrator ...

...können Seiten- und Gruppenpasswörter wie oben beschrieben verwendet werden. Darüber hinaus kann aber auch

Welches Passwort hat Vorrang?

Somit ist eine große Flexibilität bei der Zugangssteuerung der Wikiseiten mit PmWiki möglich.

Zugang zu einzelnen Seiten in geschützten Gruppen/Wikis erlauben

Manchmal möchte man einzelne Seiten freigeben, obwohl sie sich in einer geschützten Gruppe oder Wiki befinden. In diesem Fall ist die Eingabe

nopass

(kein Passwort) zu verwenden, um anzuzeigen, dass ein Zugriff ohne Passwort möglich sein soll.

Beispiel:

Für die Gruppe Main ( Main.GroupAttributes ) ist ein Bearbeiten ( edit ) - Passwort gesetzt worden. Damit wird das Bearbeiten aller Seiten der Gruppe Main eingeschränkt.

Die edit- Eingabe

clear

auf der AttributSeite ( ...Main.WikiSandbox?action=attr ) hebt den Schutz nicht auf, weil das Passwort auf Gruppenebene vergeben wurde. Statt dessen wird die Eingabe

nopass

verwendet. Mit dieser Eingabe wird PmWiki angezeigt, dass alle wiki- oder gruppenweiten Passwörter diese Seite betreffend zu ignorieren sind.

Weitere PmWiki-Seiten zum Thema

<< Seitenhistorie | Dokumentationsindex | Kategorien >>

How can I password protect all the pages and groups on my site? Do I really have to set passwords page by page, or group by group?

Administrators can set passwords for the entire site by editing the config.php file; they don't have to set passwords for each page or group. For example, to set the entire site to be editable only by those who know an "edit" password, an administrator can add a line like the following to local/config.php:

    $DefaultPasswords['edit'] = crypt('edit_password');

For more information about the password options that are available only to administrators, see PasswordsAdmin.

I get http error 500 "Internal Server Error" when I try to log in. What's wrong?

This can happen if the encrypted passwords are not created on the web server that hosts the PmWiki.
The crypt function changed during the PHP development, e.g. a password encrypted with PHP 5.2 can not be decrypted in PHP 5.1, but PHP 5.2 can decrypt passwords created by PHP 5.1.
This situation normally happens if you prepare everything on your local machine with the latest PHP version and you upload the passwords to a webserver which is running an older version.
The same error occurs when you add encrypted passwords to local/config.php.

Solution: Create the passwords on the system with the oldest PHP version and use them on all other systems.

How can I create private groups for users, so that each user can edit pages in their group, but no one else (other than the admin) can?

Administrators can use the AuthUser recipe and add the following few lines to their local/config.php file to set this up:

    $group = FmtPageName('$Group', $pagename); 
$DefaultPasswords['edit'] = 'id:'.$group;
include_once("$FarmD/scripts/authuser.php");

This automatically gives edit rights to a group to every user who has the same user name as the group name.

How come when I switch to another wiki within a farm, I keep my same authorization?

PmWiki uses PHP sessions to keep track of authentication/authorization information, and by default PHP sets things up such that all interactions with the same server are considered part of the same session.

An easy way to fix this is to make sure each wiki is using a different cookie name for its session identifier. Near the top of one of the wiki's local/config.php files, before calling authuser or any other recipes, add a line like:

    session_name('XYZSESSID');

You can pick any alphanumeric name for XYZSESSID; for example, for the cs559-1 wiki you might choose

    session_name('CS559SESSID');

This will keep the two wikis' sessions independent of each other.

URL: http://www.uni-kl.de/bigband/pmwiki.php/PmWikiDe/Passwords
Zuletzt geändert am 21.03.2008 14:04 Uhr