Register_XH – Handbuch

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

Voraussetzungen

Register_XH benötigt CMSimple_XH ≥ 1.6 mit dem Fa_XH Plugin und PHP ≥ 5.4.0.

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/ und languages/.
  5. Browsen Sie zu PluginsRegister 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. Select PluginsRegister.

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

Die Lokalisierung wird unter Sprache vorgenommen. Sie können die Zeichenketten in Ihre eigene Sprache übersetzen, falls keine entsprechende Sprachdatei zur Verfügung steht, oder sie entsprechend Ihren Anforderungen anpassen.

Das Aussehen von Register_XH kann unter Stylesheet angepasst werden.

Verwendung

Benutzer- und Gruppenverwaltung

Das erste was Sie tun sollten, ist die Benutzergruppen entsprechend Ihren Wünschen anzupassen. Dies ist unter PluginsRegisterGruppenverwaltung möglich. Sie können die Benutzer unter PluginsRegisterBenutzerverwaltung verwalten. Beide Masken sollten weitgehen selbsterklärend sein, aber einige Hinweise besonders bezüglich der letzteren scheinen angebracht:

  • Das Auswahlfeld erlaubt es die Benutzer nach ihrer Gruppenzugehörig zu filtern. Wenn Sie einen Benutzer hinzufügen, wird der Filter zurück gesetzt, da Sie sonst u.U. den neuen Benutzerdatensatz nicht sehen könnten. Wenn Sie die Daten speichern, werden alle Benutzerdatensätze gespeichert, selbst wenn Sie ausgefiltert wurden.
  • Sie können die Benutzerdatensätze durch Anklicken der entsprechenden Spaltenüberschrift sortieren.
  • Der Status kann einen der folgenden Werte haben (die Bezeichnungen der Werte sind sprachspezifisch und können in den Spracheinstellungen geändert werden):
    aktiviert
    Der Benutzer hat die vollen Rechte entsprechend seiner Gruppenzugehörigkeit.
    gesperrt
    Der Benutzer hat die vollen Rechte entsprechend seiner Gruppenzugehörigkeit, aber darf seine Benutzereinstellungen nicht ändern.
    deaktiviert
    Das Benutzerkonto ist (vorübergehend) deaktiviert.
    noch nicht aktiviert
    Der Benutzer hat sich registriert, aber das Konto wurde noch nicht aktiviert.
  • Sowohl in der Gruppen- wie auch in der Benutzerverwaltung ist das Hinzufügen und Löschen eines Benutzers nur temporär; um die Änderungen dauerhaft zu machen, müssen Sie sie ausdrücklich speichern.

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. Plugins sollten keine Hintertür anbieten, um die Login-Sicherheit von CMSimple_XH 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:

<?=registerloginform()?>

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

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

<?=Register_loggedInForm()?>

Falls Benutzer ihr Kennwort vergessen haben, können sie eine E-Mail mit Anweisungen zum Zurücksetzen des Kennworts 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, der aber Kopien der E-Mails zu seiner Information erhält.

Nach erfolgreichen Einloggen können Benutzer ihre Einstellungen bearbeiten, also Name, E-Mail-Adresse und Kennwort. Unregistrieren, d.h. Löschen des Kontos, ist ebenso in der Einstellungsmaske möglich.

Beachten Sie, dass alle Login- und Logoutversuche in CMSimple_XHs Protokolldatei festgehalten werden.

Zugriff auf CMSimple-Seiten

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

{{{access('LISTE-DER-GRUPPEN')}}}

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

{{{access('admin,member,guest')}}}

oder:

{{{access('admin')}}}

Spezialseiten

Register_XH fügt dynamisch ein paar Spezialseiten zu CMSimple_XH 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 tatsächlichen Werte der folgenden Sprachtexte bestimmt, und die Seiten sollten den entsprechenden Pluginaufruf enthalten:

register
Die Seite, auf der Anwender ein neues Benutzerkonto registrieren können.
{{{registerUser()}}}
forgot_password
Die Seite, auf der ein Anwender eine E-Mail anfordern kann, die ihm erlaubt sein Kennwort zurück zu setzen.
{{{registerForgotPassword()}}}
user_prefs
Die Seite, auf der ein Anwender sein Benutzerprofil ändern kann.
{{{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.
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.

In Abhängigkeit der PHP ini Einstellungen max_input_vars, suhosin.post.max_vars und suhosin.request.max_vars gibt es eine Obergrenze für die Höchstanzahl von Benutzern, die im Plugin-Back-End verwaltet werdp können. In der Standardkonfiguration von PHP >= 5.3.9 sind höchstens 142 Benutzer erlaubt. Das Plugin überprüft diese Grenze, und verhindert das Hinzufügen weiterer Benutzer. Wenn die Obergrenze überschritten wurde, müssen Sie die Benutzer manuell in user.csv verwalten.

Lizenz

Register_XH ist als Freeware lizensiert.

Copyright © 2007 Carsten Heinelt
Copyright © 2010-2012 Gert Ebersbach
Copyright © 2012-2017 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 auf Basis von Michael Svarrers Memberpages Plugin 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!

Das Plugin-Logo wurde von Wendell Fernandes entworfen. 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.