[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