Register_XH - ein CMSimple_XH-Plugin

Register_XH ermöglicht es, den Zugriff auf bestimmte CMSimple-Seiten auf registrierte Anwender zu beschränken. Zu diesem Zweck verfügt es über eine einfache Benutzer- und Gruppenverwaltung sowie ein Login-Formular mit der optionalen Möglichkeit für Besucher sich per E-Mail zu registrieren. Es wird von einigen anderen Plugins verwendet, um eine Benutzerverwaltung zu ergänzen (z.B. Chat_XH und Forum_XH).

Bitte lesen Sie diese Dokumentation, bevor sich Probleme ergeben!

Wichtiger Hinweis

Register_XH konnte bisher nicht in verschiedenen Umgebungen getestet werden. Es ist eine Beta-Version. Vorsicht bei der Nutzung!

Voraussetzungen

Register_XH ist ein Plugin für CMSimple_XH. Es benötigt eine UTF-8 kodierte Version.

Installation

Die Installation erfolgt wie bei vielen anderen CMSimple_XH-Plugins auch. Weitere Details finden Sie in der CMSimple_XH-Dokumentation.

  1. Sichern Sie die Daten auf Ihrem Server.
  2. Entpacken Sie die Datei auf Ihrem Computer.
  3. Laden Sie das gesamte Verzeichnis register/ auf Ihren Server in das CMSimple_XH Plugin-Verzeichnis.
  4. Vergeben Sie Schreibrechte für die Unterverzeichnisse config/, css/, languages/, logfile/ und den Daten-Ordner des Plugins.
  5. Gehen Sie zu "Register" im Administrationsbereich, um zu prüfen, ob alle Voraussetzungen erfüllt sind.

Einstellungen

Die Plugin-Konfiguration erfolgt wie bei vielen anderen CMSimple_XH-Plugins im Administrationsbereich der Homepage. Wählen Sie "Register" unter "Plugins".

Sie können die Voreinstellungen von Register_XH unter "Plugin Konfiguration" ändern. Hinweise zu den Optionen werden beim Überfahren der Hilfe-Icons mit der Maus angezeigt.

Die Lokalisierung wird unter "Plugin Spracheinstellungen" durchgeführt. Sie können die Zeichenketten in Ihre eigene Sprache übersetzen oder Sie entsprechend Ihren Erfordernissen anpassen.

Das Aussehen von Register_XH kann unter "Plugin-Stylesheet" angepasst werden.

Verwendung

Benutzer- und Gruppenverwaltung

Das erste was Sie tun sollten, ist die Benutzergruppen entsprechend Ihren Wünschen anzupassen. Dies ist unter "Register" → "Gruppenverwaltung" möglich. Sie können die Benutzer unter "Register" → "Benutzerverwaltung" verwalten. Beide Dialoge sollten weitgehen selbsterklärend sein, aber einige Hinweise besonders bezüglich des letzteren scheinen angebracht:

Beachten Sie, dass auf die CSV-Datei der Gruppen und Benutzer durch Aufruf ihrer URL direkt zugegriffen werden kann. Eine .htaccess Datei, um dies für Apache Server zu verhindern, befindet sich bereits im voreingestellten Datenordner. Für andere Server oder für geänderte Datenordner müssen Sie sich selbst darum kümmern, dass diese Daten vor unbefugtem Zugriff geschützt sind.

Bitte beachten sie weiterhin, dass die Möglichkeit nach dem Login als registrierter Benutzer der Admingruppe in den Administrationsmodus zu wechseln, entfernt wurde. Der Aufruf von registeradminmodelink() ist nun missbilligt und gibt den Link nicht mehr zurück. M.E. sollten Plugins keine Hintertür anbieten, um die Login-Sicherheit von CMSimple zu umgehen.

Login-Formular

Um dem Benutzer die Möglichkeit zu bieten sich einzuloggen und sich optional zunächst zu registrieren, muss das Login-Formular angezeigt werden. Sie können es im Template aufrufen, so dass es auf allen Seiten angezeigt wird:

<?php echo registerloginform(); ?>

Alternativ können Sie es auf einer oder mehreren CMSimple-Seiten aufrufen:

{{{PLUGIN:registerloginform();}}}

In diesem Fall werden Sie vermutlich das Formular für eingeloggte Benutzer zum Template hinzufügen wollen. Dies ist mit dem folgenden Aufruf möglich:

<?php echo Register_loggedInForm();?>

Falls der Benutzer sein Kennwort vergessen hat, kann er eine E-Mail mit den Zugangsdaten anfordern. Falls die Registrierung neuer Benutzer erlaubt ist, können sich diese selbst registrieren, und eine E-Mail mit dem Aktivierungslink wird ihnen zugesandt, so dass sie ihr Konto aktivieren und sich nahezu sofort einloggen können. All dies geschieht ohne dass der Administrator etwas unternehmen muss, aber er erhält Kopien der E-Mails zu seiner Information.

Nach erfolgreichen Einloggen kann der Benutzer seine Einstellungen bearbeiten, also Name, E-Mail-Adresse und Kennwort. Unregistrieren, d.h. Löschen des Kontos, ist ebenso im Einstellungsdialog möglich.

Beachten Sie, dass alle Login- und Logoutversuche in logfile/logfile.txt protokolliert werden.

Zugriff auf CMSimple-Seiten

Um den Zugriff auf eine CMSimple-Seite auf bestimmte Benutzergruppen zu beschränken, müssen Sie auf dieser eingeben:

{{{PLUGIN:access('LISTE-DER-GRUPPEN');}}}

LISTE-DER-GRUPPEN ist eine durch Kommas getrennte Liste der Benutzergruppen, die Zugriff auf diese Seite haben sollen. Zum Beispiel:

{{{PLUGIN:access('admin,member,guest');}}}
{{{PLUGIN:access('admin');}}}

Spezialseiten

Register_XH fügt dynamisch ein paar Spezialseiten zu CMSimple hinzu, falls diese nicht bereits existieren. Normalerweise müssen Sie sich darüber keine Gedanken machen, aber Sie können das Feature nutzen, um eigene Seiten mit der entsprechenden Überschrift anzulegen, wenn Sie eine dieser Seiten weitergehend anpassen möchten, als es durch Anpassen der entsprechenden Sprachtexte möglich ist. Die Überschriften dieser Spezialseiten werden durch die folgenden Sprachtexte bestimmt, und die Seiten sollten den entsprechenden Pluginaufruf enthalten:

register
Die Seite, auf der Anwender ein neues Benutzerkonto registrieren können.
{{{PLUGIN:registerUser();}}}
forgot_password
Die Seite, auf der ein Anwender eine E-Mail anfordern kann, die ihm erlaubt sein Kennwort zurück zu setzen.
{{{PLUGIN:registerForgotPassword();}}}
user_prefs
Die Seite, auf der ein Anwender sein Benutzerprofil ändern kann.
{{{PLUGIN:registerUserPrefs();}}}
login_error
Die Seite, auf der ein Anwender über ein fehl geschlagenes Login informiert wird.
n/a
loggedout
Die Seite, die angezeigt wird nachdem sich ein Anwender ausgeloggt hat.
n/a
loggedin
Die Seite, die angezeigt wird nachchdem sich ein Anwender eingeloggt hat. Dies wird derzeit durch die Spracheinstellung config_login_page überschrieben.
n/a
access_error
Die Seite, die angezeigt wird, wenn ein Benutzer eine Seite aufruft, für die er kein Zugriffsrecht hat.
n/a

Bitte beachten Sie, dass die Behandlung und Erkennung dieser Seiten derzeit etwas locker gehandhabt wird (so spielt es z.B. keine Rolle, auf welcher Menüebene sich diese befinden), was sich vermutlich in Zukunft ändern wird.

Einschränkungen

Wenn irgend eine CMSimple-XH-Seite unbeabsichtigt eine Überschrift hat, die für eine der Register_XH-Spezialseiten reserviert ist, könnte das Plugin nicht richtig funktionieren.

Lizenz

Register_XH ist als Freeware lizensiert.

© 2007 Carsten Heinelt
© 2010-2012 Gert Ebersbach
© 2012-2013 Christoph M. Becker

Slovakische Übersetzung © 2012 Dr. Martin Sereday
Tschechische Übersetzung © 2012 Josef Němec
Dänische Übersetzung © 2012 Jens Maegard
Russische Übersetzung © 2012 Lubomyr Kydray

Danksagung

Register wurde 2007 von Carsten Heinelt entwickelt. 2010 gab er Gert Ebersbach die Erlaubnis es an CMSimple_XH anzupassen und es weiter zu verbessern. Das Plugin wurde dann als Register_mod_XH verbreitet. 2012 stellte Gert Ebersbach die Entwicklung ein und gab mir die Erlaubnis das Plugin zu pflegen und zu verbreiten. Vielen Dank an Carsten Heinelt und Gert Ebersbach für ihre gute Arbeit und die Erlaubnis das Plugin weiterhin pflegen zu dürfen!

Der Code zum Erzeugen des CAPTCHA-Bildes basiert auf Code von Geniz' Guestbook. Der Code von Michael Svarrer's Memberpages Plugin diente als Beispiel für das Register Plugin.

Das Plugin-Icon wurde von Wendell Fernandes entworfen. Vielen Dank für die Veröffentlichung als Freeware.

Dieses Plugin verwendet Application-Icons von Aha-Soft und 19eighty7. Vielen Dank für die Veröffentlichung als Freeware.

Vielen Dank an die Community im CMSimple-Forum für Anregungen, Vorschläge und das Testen. Besonders möchte ich Holger für das Finden eines schwerwiegenden Makels, und für seinen Vorschlag, die Benutzerverwaltung zu verbessern, kmsmei für das Berichten einer Sicherheitslücke, und natürlich Joe für viele gute Vorschläge danken.

Zu guter Letzt vielen Dank an Peter Harteg, den "Vater" von CMSimple, und allen Entwicklern von CMSimple_XH ohne die dieses phantastische CMS nicht existieren würde.