[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