[pmwiki-users-de] Benutzerverwaltung

Roland Gröbli rogroebli at tele2.ch
Mo Jun 18 17:06:49 CDT 2007


Hallo Christian

Ich habe deine gute Beschreibung umgesetzt und es funktioniert.

> 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
>i n 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
Dies werde ich wohl manuell bewerkstelligen.
Dafür möchte ich auf der Registrierungs Seite noch Name Vorname, die E-Mail 
Adresse erfassen,
und die Adresse in der Profile.User Datei, oder auch direkt in eine E-Mail 
List Seite speichern.

>>    Der User kann nachträglich seine Daten ändern.
Funktioniert
>>    Ich kann dem User auch per Email sein vergessenes Passwort
>>    mitteilen.
Wie kann man ein verschlüsseltes Passwort als Administrator entziffern?

>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");
Meine Site.AuthUser Datei bleibt leer. Warum?
Ich habe folgende Zeilen eingetragen
#htpasswd:http://localhost/pmwiki-2.2.0-beta52/auth/.htpasswd
#htgroup:http://localhost/pmwiki-2.2.0-beta52/auth/.htgroup

Auch die Profile.User Dateien sind leer

>  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:)

Auf dieser Seite möchte ich noch mehr Daten erfassen

>** 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 ich so vorgehe funktionierts.
Wenn ich aber mit Gruppen Passwörtern arbeite z.Bsp. (@ readers, @editors )
funktionierts nicht.

>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 ...

>[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

Gruss

Roland