[pmwiki-users-de] Benutzerverwaltung

Christian Bartolomaeus bartolin at gmx.de
Do Jun 14 03:17:25 CDT 2007


Hallo Roland,

* On 2007-06-12 Roland Gröbli (rogroebli at tele2.ch) wrote:
>    [...]
>    Warum wurde bei den vorherigen Antworten der Text abgeschnitten?

keine Ahnung. Über die Liste wurde deine mail komplett versandt.

Ich versuche mal, einen Teil deiner Fragen zu beantworten.
Insbesondere lasse ich zunächst den Teil mit der Benachrichtigung per
E-Mail weg. (Zum einen habe ich noch keine Idee, wie sich das einfach
in den Registrierungsprozess einbauen lässt, zum anderen könnte es
sinnvoll sein, einen Schritt nach dem anderen zu machen.

>    Folgenden Benutzerablauf möchte ich realisieren.
>    Neuer User registriert sich im Registerformular mit Benutzername,
>    Passwort und Email.
>    Dem User werden die Rechte für die verschiedenen WikiGruppen
>    zugewiesen.
>    Per Email melde ich Ihm die Benutzerfreigabe
>    Der User kann nachträglich seine Daten ändern.
>    Ich kann dem User auch per Email sein vergessenes Passwort
>    mitteilen.

Also, wie gesagt zunächst zur Frage, wie sich der Benutzer über ein
Formular registrieren kann (ohne Angabe einer Email-Adresse):

* In local/config.php (also global für das gesamte Wiki) aktivierst du
  AuthUser und teilst ihm mit, dass die Daten aus den Dateien htpasswd
  und htgroup eingelesen werden sollen:

    ## Passwörter aus auth/htpasswd einlesen
    $AuthUser['htpasswd'] = 'auth/htpasswd';
    ## Gruppenzugehörigkeit aus auth/htgroup einlesen
    $AuthUser['htgroup'] = 'auth/htgroup';
    ## AuthUser aktivieren
    include_once("$FarmD/scripts/authuser.php");

  Dafür musst es im Wurzelverzeichnis deines Wikis (dort, wo auch
  pmwiki.php liegt) ein Verzeichnis "auth" geben, für das der
  Webserver Schreibrechte hat [1]. In dieses Verzeichnis werden die
  Passwörter bei der Registrierung geschrieben.

* Du richtest eine Seite für das Registrierungsformular ein -- z.B.
  Site.HtpasswordForm.

** Diese Seite bearbeitest du und trägst ein

     (:htpasswdform:)

** Du erzeugst eine Konfigurationsdatei für diese Seite, nämlich
   local/Site.HtpasswdForm.php. In diese Datei trägst du ein:

     ## Benutze auth/htpasswd zum Speichern der Benutzerpasswörter
     $HtpasswdFile='auth/htpasswd';
     ## Benutze auth/htgroup zum Speichern der Gruppenzugehörigkeit
     $HtgroupFile='auth/htgroup';
     ## Neuen Benutzern ein Formular zum Registrieren präsentieren
     $HtpasswordNewUsers=1;
     ## HtpasswdForm aktivieren
     include_once("$FarmD/cookbook/htpasswdform.php");

* Du definierst Benutzerrechte mittels ?action=attr. Um beispielsweise
  Anton und Berta Leserechte für die Wiki-Gruppe "Neuigkeiten" zu
  geben, rufst du die Seite

    Neuigkeiten.GroupAttributes?action=attr

  auf und trägst dort beim Lesepasswort ein:

    id:Anton,Berta

Wenn das soweit funktioniert, muss man sich noch Gedanken über die
Interaktion mit den Benutzern machen. Hat jemand anders eine Idee, wie
man das geschickt machen kann? Vielleicht lässt sich das neue 
PmForm [1] dafür nutzen? Eine (nicht perfekte) Idee wäre, den neuen
Benutzer direkt nach der Registrierung auf eine Seite mit einem
Mail-Formular weiterzuleiten und ihn dort seinen Benutzernamen und
seine Adresse angeben zu lassen. Oder natürlich man schreibt
htpasswdform.php um ...

Ich hoffe, das hilft dir erstmal weiter.

Ciao

Christian

[1] Vielleicht wäre es am sichersten, dieses Verzeichnis außerhalb der
    WWW-lesbaren Verzeichnisstruktur anzulegen. Also z.B. bei einem
    Account auf einem Unix-Rechner außerhalb von
    /home/nutzer/public_html.

[2] http://www.pmwiki.org/pmform/PmForm/MailForm
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : /pipermail/pmwiki-users-de/attachments/20070614/116ff9b4/attachment.bin