Recent Changes - Search:

PmWiki (deutsch) für die Liste aller Seiten


Englisch:

PmWiki

pmwiki.org

edit SideBar

https://www.jetphotos.com/photographer/598301 https://www.jetphotos.com/photographer/598304 https://www.jetphotos.com/photographer/598305 https://www.jetphotos.com/photographer/598307 https://www.jetphotos.com/photographer/598310 https://www.jetphotos.com/photographer/598312 https://www.jetphotos.com/photographer/598317 https://www.jetphotos.com/photographer/598318 https://www.jetphotos.com/photographer/598320 https://www.jetphotos.com/photographer/598321 https://www.jetphotos.com/photographer/598322 https://www.jetphotos.com/photographer/598324 https://www.jetphotos.com/photographer/598328 https://www.jetphotos.com/photographer/598340 https://www.jetphotos.com/photographer/598341 https://www.jetphotos.com/photographer/598346 https://www.jetphotos.com/photographer/598349 https://www.jetphotos.com/photographer/598357 https://www.jetphotos.com/photographer/598366 https://www.jetphotos.com/photographer/598372 https://www.jetphotos.com/photographer/598374 https://www.jetphotos.com/photographer/598378 https://www.jetphotos.com/photographer/600028 https://www.jetphotos.com/photographer/600031 https://www.jetphotos.com/photographer/600032 https://www.jetphotos.com/photographer/600034 https://www.jetphotos.com/photographer/600036 https://www.jetphotos.com/photographer/600037 https://www.jetphotos.com/photographer/600039 https://www.jetphotos.com/photographer/600041 https://www.jetphotos.com/photographer/600042 https://www.jetphotos.com/photographer/600045 https://www.jetphotos.com/photographer/600046 https://www.jetphotos.com/photographer/600047 https://www.jetphotos.com/photographer/600048 https://www.jetphotos.com/photographer/600050 https://www.jetphotos.com/photographer/600051 https://www.jetphotos.com/photographer/600052 https://www.jetphotos.com/photographer/600053 https://www.jetphotos.com/photographer/600055 https://www.jetphotos.com/photographer/600057 https://www.jetphotos.com/photographer/600641 https://www.jetphotos.com/photographer/600644 https://www.jetphotos.com/photographer/600645 https://www.jetphotos.com/photographer/600646 https://www.jetphotos.com/photographer/602231 https://www.jetphotos.com/photographer/602240 https://www.jetphotos.com/photographer/602244 https://www.jetphotos.com/photographer/602247 https://www.jetphotos.com/photographer/602261 https://www.jetphotos.com/photographer/602265 https://www.jetphotos.com/photographer/602279 https://www.jetphotos.com/photographer/602307 https://www.jetphotos.com/photographer/602315 https://www.jetphotos.com/photographer/602323 https://www.jetphotos.com/photographer/602340 https://www.jetphotos.com/photographer/602346 https://www.jetphotos.com/photographer/602741 https://www.jetphotos.com/photographer/602743 https://www.jetphotos.com/photographer/602744 https://www.jetphotos.com/photographer/602745 https://www.jetphotos.com/photographer/602746 https://www.jetphotos.com/photographer/602748 https://www.jetphotos.com/photographer/602749 https://www.jetphotos.com/photographer/602750 https://www.jetphotos.com/photographer/602757 https://www.jetphotos.com/photographer/602758 https://www.jetphotos.com/photographer/602762 https://www.jetphotos.com/photographer/602763 https://www.jetphotos.com/photographer/602764 https://www.jetphotos.com/photographer/602769 https://www.jetphotos.com/photographer/602770 https://www.jetphotos.com/photographer/602772 https://www.jetphotos.com/photographer/602773 https://www.jetphotos.com/photographer/602774 https://www.jetphotos.com/photographer/602775 https://www.jetphotos.com/photographer/601186 https://www.jetphotos.com/photographer/601188 https://www.jetphotos.com/photographer/601189 https://www.jetphotos.com/photographer/601191 https://www.jetphotos.com/photographer/601192 https://www.jetphotos.com/photographer/601194 https://www.jetphotos.com/photographer/601196 https://www.jetphotos.com/photographer/601197 https://www.jetphotos.com/photographer/601248 https://www.jetphotos.com/photographer/601249 https://www.jetphotos.com/photographer/601250 https://www.jetphotos.com/photographer/601251 https://www.jetphotos.com/photographer/601252 https://www.jetphotos.com/photographer/601254 https://www.jetphotos.com/photographer/601255 https://www.jetphotos.com/photographer/601256 https://www.jetphotos.com/photographer/601258 https://www.jetphotos.com/photographer/601260 https://www.jetphotos.com/photographer/601261 https://www.jetphotos.com/photographer/601263 https://www.jetphotos.com/photographer/601264 https://www.jetphotos.com/photographer/601265 https://www.jetphotos.com/photographer/601266 https://www.jetphotos.com/photographer/601267 https://www.jetphotos.com/photographer/601268 https://www.jetphotos.com/photographer/601269 https://www.jetphotos.com/photographer/601270 https://www.jetphotos.com/photographer/601272 https://www.jetphotos.com/photographer/601273 https://www.jetphotos.com/photographer/602779 https://www.jetphotos.com/photographer/602780 https://www.jetphotos.com/photographer/602781 https://www.jetphotos.com/photographer/602782 https://www.jetphotos.com/photographer/600111 https://www.jetphotos.com/photographer/600112 https://www.jetphotos.com/photographer/600148 https://www.jetphotos.com/photographer/600151 https://www.jetphotos.com/photographer/600155 https://www.jetphotos.com/photographer/600157 https://www.jetphotos.com/photographer/600159 https://www.jetphotos.com/photographer/600161 https://www.jetphotos.com/photographer/600163 https://www.jetphotos.com/photographer/600647 https://www.jetphotos.com/photographer/600648 https://www.jetphotos.com/photographer/600649 https://www.jetphotos.com/photographer/600650 https://www.jetphotos.com/photographer/602889 https://www.jetphotos.com/photographer/602890 https://www.jetphotos.com/photographer/602891 https://www.jetphotos.com/photographer/602895 https://www.jetphotos.com/photographer/602897 https://www.jetphotos.com/photographer/602900 https://www.jetphotos.com/photographer/602904 https://www.jetphotos.com/photographer/602907 https://www.jetphotos.com/photographer/602913 https://www.jetphotos.com/photographer/602916 https://www.jetphotos.com/photographer/602918 https://www.jetphotos.com/photographer/602922 https://www.jetphotos.com/photographer/602923 https://www.jetphotos.com/photographer/602925 https://www.jetphotos.com/photographer/602926 https://www.jetphotos.com/photographer/600534 https://www.jetphotos.com/photographer/600535 https://www.jetphotos.com/photographer/600536 https://www.jetphotos.com/photographer/600538 https://www.jetphotos.com/photographer/600539 https://www.jetphotos.com/photographer/600540 https://www.jetphotos.com/photographer/600542 https://www.jetphotos.com/photographer/600543 https://www.jetphotos.com/photographer/600544 https://www.jetphotos.com/photographer/600547 https://www.jetphotos.com/photographer/600548 https://www.jetphotos.com/photographer/600549 https://www.jetphotos.com/photographer/600550 https://www.jetphotos.com/photographer/600552 https://www.jetphotos.com/photographer/600553 https://www.jetphotos.com/photographer/600555 https://www.jetphotos.com/photographer/600558 https://www.jetphotos.com/photographer/600565 https://www.jetphotos.com/photographer/600566 https://www.jetphotos.com/photographer/600567 https://www.jetphotos.com/photographer/600568 https://www.jetphotos.com/photographer/600571 https://www.jetphotos.com/photographer/600573 https://www.jetphotos.com/photographer/600575 https://www.jetphotos.com/photographer/600576 https://www.jetphotos.com/photographer/600577 https://www.jetphotos.com/photographer/600578 https://www.jetphotos.com/photographer/600666 https://www.jetphotos.com/photographer/600668 https://www.jetphotos.com/photographer/600669 https://www.jetphotos.com/photographer/600670 https://www.jetphotos.com/photographer/602963 https://www.jetphotos.com/photographer/601276 https://www.jetphotos.com/photographer/601280 https://www.jetphotos.com/photographer/601281 https://www.jetphotos.com/photographer/601284 https://www.jetphotos.com/photographer/601285 https://www.jetphotos.com/photographer/601286 https://www.jetphotos.com/photographer/601287 https://www.jetphotos.com/photographer/601288 https://www.jetphotos.com/photographer/601291 https://www.jetphotos.com/photographer/601293 https://www.jetphotos.com/photographer/602776 https://www.jetphotos.com/photographer/602777 https://www.jetphotos.com/photographer/602955 https://www.jetphotos.com/photographer/602956 https://www.jetphotos.com/photographer/602957 https://www.jetphotos.com/photographer/602959 https://www.jetphotos.com/photographer/602960 https://www.jetphotos.com/photographer/602961

Benutzerautorisierung

für die Liste aller Seiten

Administratoren

AuthUser ist PmWikis identitätsbasiertes Autorisierungssystem, das die Kontrolle des Zugriffs auf Seiten erlaubt über den Einsatz von Benutzernamen und -Passwörtern (anders als beim Standardsystem, bei dem nur Passwörter verwendet werden und diese nicht an Benutzer, sondern an Seiten oder Gruppen oder die Site gebunden sind). AuthUser kann zusätzlich zu diesem, in der Standardkonfiguration benutzten, passwort-basierten Schema benutzt werden.

AuthUser ist ein sehr flexibles System zum Verwalten der Zugangskontrolle zu Seiten, aber Flexibilität kann auch Komplexität und vermehrten Aufwand zur Pflege für den Administrator mit sich bringen. Genau darum ist PmWikis Standard das einfachere passwort-basierte System. Wegen ein paar Gedanken zu den jeweiligen Vorzügen der beiden Systeme siehe PmWiki:ThoughtsOnAccessControl.

Siehe auch: Cookbook:Quick Start for AuthUser.

AuthUser aktivieren

Um PmWikis identitätsbasiertes System AuthUser zu aktivieren, braucht man nur die folgende Zeile in die local/config.php hinzuzufügen:

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

Vergewissern Sie sich, dass Sie ein site-weites Passwort gesetzt haben, andernfalls könnten Sie SiteAdmin.AuthUser nicht bearbeiten.

Anmerkung: Ältere Versionen von PmWiki (vor 2.2.0-beta58) nutzten dafür ''Site.AuthUser''.

PmWiki speichert einige Gruppen- und Seiten-Autorisierungsebenen zwischen, wenn auf eine Seite zugegriffen wird. Deshalb ist es besser, authuser.php eher weiter vorn in der config.php-Datei einzusetzen, sicher jedoch

  • nach allen Rezepten, die eine eigenen Seitenspeicher-Klasse (MySQL, SQLite, Compressed PageStore oder andere) etablieren
  • und nach jeder Internationalisierung (UTF-8 und XLPage).

(Wenn Sie keine eigene Seitenspeicher-Klasse und i18n nutzen, sollte authuser.php das Erste in der config.php sein.)

Alle anderen Rezepte sollten dahinter aufgeführt werden.

Benutzerkonten anlegen

Das Meiste von AuthUsers Konfiguration wird über die SiteAdmin.AuthUser-Seite erledigt. Zum Ändern der AuthUser-Konfiguration bearbeiten Sie einfach diese Seite wie andere Seiten auch (man braucht typischerweise das Passwort des Site-Administrators dafür).

Um einen Login-Konto (account) zu erstellen, fügen Sie zu SiteAdmin.AuthUser einfach Zeilen wie diese hinzu:

username: (:encrypt password:)

Um zum Beispiel "Alice" ein Loginkonto mit dem Passwort "restaurant" zu geben, schreiben Sie also:

alice: (:encrypt restaurant:)

Wenn die Seite gespeichert wird, wird der "(:encrypt restaurant:)"-Teil des Textes durch eine verschlüsselte Form des Passwortes "restaurant" ersetzt. Diese Verschlüsselung geschieht, damit jemand, der die Seite ansieht, nicht zu einfach das gespeicherte Passwort erschließen kann.

Um eines Benutzers Passwort zu ändern oder zurückzusetzen, ersetzt man den verschlüsselten String durch eine weitere (:encrypt:)-Direktive.

Das Passwort darf weder Leerzeichen, noch Tabs, Zeilenumbrüche, Doppelpunkte ":" oder Gleichheitszeichen "=" enthalten; auf einigen Systemen müssen es wenigstens vier Zeichen sein. Bei Benutzernamen und Passwörtern ist die Groß/Kleinschreibung wichtig, so ist "User" nicht dasselbe wie "user".

Zugriff auf Seiten durch Anmelden kontrollieren

Seiten und Gruppen können auf der Basis der Loginkonten geschützt werden, indem man "Passwörter" der Form id:benutzername in die Passwortfelder bei ?action=attr einträgt (siehe Passwörter. Damit zum Beispiel eine Seite nur von Alice bearbeitet werden kann, würde man als neues "bearbeiten"-Passwort "id:alice" eintragen.

Es ist möglich, mehrere "id"-Deklarationen und Passwörter in dem "?action=attr"-Formular einzugeben, deshalb erlaubt die folgende Einstellung den Zugriff durch Alice, Carol und jeden, der das Passwort "schnell" kennt:

schnell id:alice,carol

Um jedem den Zugriff zu erlauben, der sich erfolgreich eingeloggt hat, schreibt man "id:*".

Man kann auch site-weite Einschränkungen einrichten, die auf den Identitäten im $DefaultPasswords-Array (in local/config.php) basieren: z. B.

# Einloggen erforderlich, bevor Seiten gelesen werden können
$DefaultPasswords['read'] = 'id:*';
# Alice und Carol dürfen bearbeiten
$DefaultPasswords['edit'] = 'id:alice,carol';
# Alle Admins und Fred dürfen bearbeiten
$DefaultPasswords['edit'] = array('@admins', 'id:Fred');

Man kann das $DefaultPasswords-Array in den lokalen Anpassungsdateien ändern:

  • local/config.php (für das ganze Wiki)
  • farmconfig.php (für die ganze Wikifarm)

Organisieren der Konten in Gruppen

AuthUser macht es auch möglich, Loginkonten in Autorisierungsgruppen zu sammeln, die durch ein einleitendes '@'-Zeichen bezeichnet werden. Wie die Loginkonten werden Gruppenzugehörigkeiten durch Einträge in der SiteAdmin.AuthUser-Seite verwaltet, Gruppenzugehörigkeit entweder durch Auflisten der Gruppen im Loginkonto (Person gehört zu den Gruppen ...) oder durch Auflisten der Konten für eine Gruppe (Gruppe enthält Leute). Man kann die beiden Arten wiederholt anwenden oder mischen:

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

Um dann Seitenzugriffe auf eine bestimmte Gruppe zu beschränken, trägt man einfach "@gruppe" als das "Passwort" in ?action=attr oder in das $DefaultPasswords-Array ein, gerade so wie "id:benutzername" für die Zugriffsbeschränkung auf ein Loginkonto eingetragen wurde.

Einzelne aus Passwortgruppen ausschließen

Gruppenpasswortzugehörigkeiten werden über das Bearbeiten der SiteAdmin.AuthUser-Seite verwaltet. Um eine Passwortgruppe anzugeben, die jedem, der eingeloggt ist, den Zugriff erlaubt, gibt man an:

    @wholeoffice: *

Wenn Fred von dieser Passwortgruppe ferngehalten werden soll:

    @wholeoffice: *,-Fred

Um allen außer Fred zu erlauben, die Seitenattribute zu ändern, schreibt man beispielsweise in die config.php-Datei:

$DefaultPasswords['attr'] = array('id:*,-Fred');

Kontonamen und Passwörter von anderen Wikiseiten holen

Wenn Sie PmWiki veranlassen wollen, Kontonamen und Passwörter von anderen Seiten als von SiteAdmin.AuthUser zu holen, können Sie die Variable $AuthUserPageFmt in der config.php-Datei setzen. $AuthUserPageFmt muss vor dem Aufruf von authuser.php gesetzt werden.

Vor der PmWiki-Version 2.2.108 können Sie PmWiki auf eine andere Seite als SiteAdmin.AuthUser zeigen lassen mit:

    $AuthUserPageFmt = 'EineAndereGruppe.EineAndereSeite';

Ab der PmWiki-Verion 2.2.108 können Sie PmWiki auf eine andere Seite als SiteAdmin.AuthUser zeigen lassen mit:

    $AuthUserPageFmt = array('EineAndereGruppe.EineAndereSeite', 'EineDritteGruppe.EineDritteSeite');

Dadurch prüft PmWiki alle aufgelisteten Seiten mit dem selben Format, das für SiteAdmin.AuthUser dokumentiert ist. Wenn es Wiederholungen gibt, werden frühere Werte durch spätere ersetzt.

Kontonamen und Passwörter aus externen Quellen holen

Das AuthUser-Skript hat die Fähigkeit, Benutzernamen/Passwörter-Paare von anderen Stellen als der SiteAdmin.AuthUser-Seite zu holen, als da wären

  • passwd-formatierte Dateien (auf Apache-Servern gewöhnlich '.htpasswd' genannt),
  • LDAP-Server oder sogar
  • die local/config.php-Datei.

Passwd-formatierte Dateien (.htpasswd/.htgroup)

Passwd-formatierte Dateien, in Apache gewöhnlich .htpasswd-Dateien genannt, sind Textdateien, in denen jede Zeile einen Benutzernamen und ein verschlüsseltes Passwort enthält, getrennt durch einen Doppelpunkt. Eine typische .htpasswd-Datei könnte so etwas enthalten:

    alice:vK99sgDV1an6I
    carol:Q1kSeNcTfwqjs

Damit AuthUser diese Benutzer und Passwörter von einer .htaccess-Datei lädt, schreibt man eine Zeile in SiteAdmin.AuthUser, wobei man "/path/to/.htpasswd" dur den Dateisystempfad der .htpasswd-Datei ersetzt:

    htpasswd: /path/to/.htpasswd

Anlegen und Verwalten der .htpasswd-Datei kann mit einem Texteditor durchgeführt werden (???? nur .htgroup!) oder mit einer Reihe von Drittanbieter-Werkzeugen, die mit .htpasswd-Dateien umgehen können. Beim Apache-Server wird typischerweise ein htpasswd-Kommando mit installiert, mit dem man Konten in .htpasswd anlegen und verwalten kann.

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

Entsprechend kann man .htgroup-formatierte Dateien benutzen, um Gruppenzugehörigkeiten zu spezifizieren. Jede Zeile enthält den Namen einer Gruppe (ohne dem "@"), gefolgt von einem Doppelpunkt, gefolgt von einer durch Leerzeichen getrennten Liste von Benutzernamen in der Gruppe.

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

Anmerkung: Die Gruppen sind nach wie vor "@writers", "@editors" und "@admins" in PmWiki, auch wenn in den Dateien das "@"-Zeichen nicht mitgeschrieben wird.
Damit AuthUser diese Gruppen lädt, schreibt man eine Zeile in SiteAdmin.AuthUser wie:

    htgroup: /path/to/.htgroup

Konfiguration durch local/config.php

AuthUser-Konfigurationseinstellungen können auch in der local/config.php-Datei gemacht werden – zusätzlich zu der SiteAdmin.AuthUser-Seite. Solche Einstellungen werden in das $AuthUser-Array gesetzt und müssen vor dem Einfügen des authuser.php-Skripts gesetzt werden. Einige Beispiele:

# setze ein Password für alice
$AuthUser['alice'] = pmcrypt('restaurant');
# setze ein Password für carol
$AuthUser['carol'] = '$1$CknC8zAs$dC8z2vu3UvnIXMfOcGDON0';
# definiere die @editors-Gruppe
$AuthUser['@editors'] = array('alice', 'carol', 'bob');
# Benutze local/.htpasswd für Benutzernamen/Passwörter
$AuthUser['htpasswd'] = 'local/.htpasswd';
# Benutze local/.htgroup für die Gruppenzugehörigkeit
$AuthUser['htgroup'] = 'local/.htgroup';

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

Konfiguration über LDAP

Die Authentifizierung kann über einen externen LDAP-Server ausgeführt werden – setzen Sie einfach einen Eintrag für "ldap" entweder in die SiteAdmin.AuthUser-Seite oder in die local/config.php-Datei.

# Benutze ldap.airius.com für die Authentifizierung
$AuthUser['ldap'] = 'ldap://ldap.airius.com/ou=People,o=Airius?cn?sub';

Vergewissern Sie sich, dass AuthUser nach dem Eintrag für den LDAP-Server eingeschlossen wird.

# Wir brauchen AuthUser, damit wir ldap für die Passwörter einsetzen können
    include_once("$FarmD/scripts/authuser.php");

Und denken Sie daran, die Sicherheitsvariablen für "Bearbeiten" und "Versionen" (oder was auch immer) zu setzen:

#Sicherheitsvariablen setzen für Bearbeiten und Versionen,
# um beides jedermann mit einem ldap-Eintrag zu erlauben:
$HandleAuth['diff'] = 'edit'; # Versionen
$DefaultPasswords['edit'] = 'id:*'; # Bearbeiten
$Author = $AuthId;

Die LDAP-Authentifizierung in AuthUser folgt dicht dem Modell, das Apache 2.0s mod_auth_ldap-Modul benutzt; siehe besonders die Dokumentation zu AuthLDAPUrl wegen einer Beschreibung des URL-Fomates.

Für Server, die kein anonymes 'bind' erlauben, bietet Authuser die Variablen $AuthLDAPBindDN und $AuthLDAPBindPassword, um anzugeben, welches 'Binding' zur Suche benutzt werden soll.

Siehe auch Cookbook:AuthUser via Microsoft LDAP

Setzen des Autorennamen

Im Standard benutzt PmWiki den Loginnamen im Autorenfeld des Bearbeiten-Formulars, erlaubt aber den Benutzern, den Wert vorm Speichern zu ändern. Um zu erzwingen, dass der Loginnamen immer als Autorenname benutzt wird, trägt man die folgende Sequenz in die config.php-Datei ein:

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

Für eine größere Flexibilität, die trotzdem einen Verweis auf den autorisierten Benutzer in den Versionen erlaubt, kann man dem Autorennamen einen Präfix aus der $AuthId geben:

    include_once("$FarmD/scripts/author.php");
    include_once("$FarmD/scripts/authuser.php");
    if ($Author) {
        if (strstr($Author, '-') != false) {
            $Author = "$AuthId-" . preg_replace('/^[^-]*-/', '', $Author);
        } else if ($Author != $AuthId) {
            $Author = $AuthId . '-' . $Author;
        } else {
            $Author = $AuthId;
        }
    } else {
        $Author = $AuthId;
    }
    $AuthorLink = "[[~$Author]]";

Das Obige erlaubt den Benutzern einen Autorennamen ihrer Wahl einzugeben, der wird aber immer ersetzt durch einen Namen mit vorangestelltem "$AuthID-". Der Grund, warum $AuthorLink auch gesetzt werden muss, ist, dass sonst die 'RecentChanges'-Seite den falschen Verweis enthält.

Das "Autor"-Eingabefeld entfernen

Das zwingt die Autoren, mit ihrer AuthID zu schreiben, anstatt ein Feld zu haben, in das sie jeden beliebigen Namen eintragen können. Das ermöglicht der Verwaltung, besser im Auge zu behalten, wer was tut. Diese Zeile verlinkt auch den Autorennamen mit ihrem Profil.

Gehen Sie in die Site.EditForm-Seite, entfernen Sie die Zeile
$[Author]: (:input e_author:)
oder ersetzen Sie sie mit
$[Author]: [[Profiles/{$Author}]]

Autorisierung, Sessions und WikiFarms

PmWiki benutzt PHP-Sessions, um die Benutzerautorisierungsinformationen zu verfolgen. Im Standard ist PHP so konfiguriert, dass alle Interaktionen mit dem selben Server (indentifiziert durch den Domainnamen) als Teil der gleichen Session behandelt werden.

Das bedeutet für PmWiki, wenn mehrere Wikis innerhalb des gleichen Domainnamen laufen, dass PHP ein Login für ein Wiki als gültig auch für alle Wikis in der gleichen Domain ansieht. Die leichteste Lösung ist, jedes Wiki anzuweisen, ein verschiedenes "Session-Cookie" zu benutzen. Fügen Sie in der Nähe des Anfangs in einer local/config.php-Datei eines Wikis, vor dem Aufruf von authuser oder anderen Rezepten, eine solche Zeile ein:

session_name('XYZSESSID');

'XYZSESSID' kann irgendein unverwechselbarer, einmaliger Name sein (nur Buchstaben ist am sichersten). Wegen der exakten Namensregeln sehen Sie nach in der Beschreibung im PHP-Handbuch unter der PHP-Version, die Sie auf Ihrem Server verwendeten.

Sicherheitshinweis: Der Gebrauch unterschiedlicher Sitzungsnamen in Cookies und/oder URLs hilft gegen Verwirrung bei Wiki-Farmen, ist aber kein Schutz gegen untergeschobene Sitzungsdaten auf dem Server. Siehe hierzu Cookbook:Session Security Advice, Abschnitt "Session injection".

Siehe auch

FAQ

Kann ich Autorisierungsgruppenzugehörigkeiten in der local/config.php angeben?

Ja – setzen Sie die Gruppendefinition in das $authUser-Array (in config.php).

$AuthUser['@editors'] = array('alice', 'carol', 'bob');

Kann ich mehrere Admin-Gruppen haben?

Ja, definieren Sie die Gruppen mit array('@admins', '@moderators'); wie hier:

$DefaultPasswords['admin'] = array( pmcrypt('masterpass'), # globales Passwort
    '@admins', '@moderators', # + Benutzer in diesen Gruppen
    'id:Fred', 'id:Barney');  # + Benutzer Fred und Barney

Ich betreibe mehrere Wikis unter dem gleichen Domainnamen, und Logins von einem Wiki erscheinen in einem anderen Wiki. Sollten die nicht unabhängig voneinander sein?

Das wird verursacht von der Art, wie PHP Sessions behandelt. Siehe PmWikiDe.AuthUser#sessions wegen weiterer Details.

Gibt es einen Weg, die Zeit des letzten Logins für jeden Benutzer zu speichern, wenn man AuthUser benutzt?

Siehe Cookbook:UserLastAction.

Obwohl alle Einstellungen korrekt zu sein scheinen, funktioniert die Authentifizierung gegen LDAP nicht und es gibt kein LDAP-Log. Was ist falsch?

Vergewissern Sie sich, dass das ldap-php-modul installiert ist ( für Debian: apt-get install php(4|5)-ldap ; apache(2)ctl graceful )

Das Loginformular fragt nach Benutzernamen und Passwort, aber nur das Passwort spielt eine Rolle.

Der Benutzername kann leer bleiben und trotzdem gelingt ein Einloggen unter dem Account. Ist das so gewollt und wenn, kann ich das so ändern, dass Passwort und Benutzername beide eingegeben werden müssen? - X1/18/07 Ich glaube, das hat was mit der Benutzung des Adminpasswortes zu tun. Ich habe einen Testaccount angelegt und es funktioniert.

Vergewissern Sie sich, dass Sie nicht das Adminpasswort eingeben, wenn sie den Account testen. Wenn das Passwort mit dem des Admin übereinstimmt, wird die Autorisierung direkt durch die config.php-Datei vorgenommen und die anderen Systeme werden übersprungen.

Berücksichtigen Sie, dass man sich selbst mit eingeschaltetem AuthUser immer noch mit einem leeren Benutzernamen und nur der Eingabe des Passwortes einloggen kann. In dem Fall wird jedes eingegebene Passwort "akzeptiert", aber nur Passwörter, die in einem bestimmten Kontext authentifizieren, geben Ihnen auch Autorisierungsrechte. AuthUser koexistieren komfortabel mit dem passwort-basiertes System, wenn man diese Möglichkeit nutzt.

Wenn Sie Benutzernamen und Passwort beide abfordern wollen, dann müssen sie eine Admin-ID vor dem Einbinden von authuser.php setzen:

## Define usernames and passwords.
$AuthUser['carol'] = '$1$CknC8zAs$dC8z2vu3UvnIXMfOcGDON0';

## Enable authentication based on username.
include_once('scripts/authuser.php');

# $DefaultPasswords['admin'] = pmcrypt('secret');
$DefaultPasswords['admin'] = 'id:carol';

Ein Benutzername und ein Passwort werden dann beide erforderlich sein, bevor ein Login erfolgreich ist.

Gibt es irgendeinen Weg, die IP-Adresse zu verbergen, sobald man eingeloggt ist, so dass registrierte Benutzer ihre IP-Adresse gegenüber jedem außer dem Administrator unsichtbar halten können?

Ja, siehe die in PITS:00400 angebotene Lösung.

Gibt es eine Möglichkeit, dass Leute sich selbst registrieren können über AuthUser?

Sie können in zwei Kochbüchern nach Rezepten sehen, die dieses Feature anbieten: in HtpasswdForm und UserAdmin.

Ich hätte es gern, nachdem ich AuthUser angeschaltet habe und ein Benutzer auf meiner Site authentifiert ist, dass, wenn ich ein Passwort für eine bestimmte Seite oder Gruppe gesetzt habe, dieser Benutzer nur noch die typische Passwortzeile sieht und nicht mehr das Formular zur Eingabe von Benutzernamen und Passwort.

Siehe diesen Thread in der Mailingliste (authuser vs passwords).

Wie erlaubt man das Lesen oder Bearbeiten einer Seite oder Gruppe nur angemeldeten Besuchern?

Sie können die Passwortfelder auf id:* setzen. Navigieren Sie zu Gruppe.Seite?action=attr (für eine einzelne Seite) oder zu Gruppe.GroupAttributes?action=attr (für die ganze Gruppe) und füllen Sie die Felder "Set new read password:" und "Set new edit password:" mit id:* aus, dann speichern Sie die Seite (das Formular).

für die Liste aller Seiten


Übersetzung von PmWiki.AuthUser,   Originalseite auf PmWikiDe.AuthUser   —   Backlinks

Zuletzt geändert:   PmWikiDe.AuthUseram 25.05.2023
 PmWiki.AuthUseram 08.03.2023
Edit - History - Print - Recent Changes - Search
Page last modified on May 25, 2023, at 06:25 AM