Benutzer

Benutzer werden als FOM\UserBundle\Entity\User implementiert und im Datenbank Repository gespeichert. Die Entität hält nur die notwendigen Informationen über einen Nutzer vor, komplexere Benutzerdaten sollten in Benutzerprofilen hinterlegt werden (TBD).

Das Bundle enthält alle Mittel, um Benutzer durch einen Administrator zu verwalten als auch das eigene Registrieren eines Nutzers sowie das Zurücksetzen des eigenen Passwortes.

Der Benutzer mit der ID 1 ist besonders, da dieser Benutzer bei der Installation erstellt wird und immer alle Rechte hat. Falls alle Stricke reißen, können Sie mit diesem Benutzer alles verwalten. Und falls Sie gar die Anmeldedaten vergessen haben sollten, können Sie über ein app/console Kommando den Benutzer zurücksetzen: fom:user:resetroot.

Note

Hinweis: Um die Funktionen unterhalb nutzen zu können, muss der Symfony Swiftmailer korrekt eingerichtet sein. Bitte überprüfen Sie Ihre lokale Symfony-Version und nutzen Sie die offizielle Symfony-Dokumentation zur Einrichtung des Tools: https://symfony.com/doc/current/mailer.html

Passwort vergessen

Falls ein Benutzer sein Passwort vergessen hat, kann er in der Login-Maske über den Link “Passwort vergessen” ein neues Passwort anfordern. Dazu gibt er dann seinen Benutzernamen oder seine E-Mail Adresse an.

../../../../_images/user_forgot_password.png

Danach bekommt der Benutzer eine E-Mail mit einem Link, die zu der Seite führt, um das Passwort zurückzusetzen. Der Link ist danach nicht mehr gültig. Der Text der Mail kann in der Datei /FOM/UserBundle/Resources/translations/messages.de.xlf angepasst werden.

Die Funktionalität kann in der config.yml ausgeschaltet werden.

fom_user:
    reset_password: true # true/false

Registrierung

Benutzer können sich an Mapbender selbst registrieren. Dafür stellt man in der config.yml die Einstellung fom_user:selfregister auf true.

fom_user:
    selfregister: false # true/false

Im Login-Dialog erscheint der “Register” Link. Der Benutzer wird zu einer Maske geführt, in der er seinen Namen, sein Passwort und seine E-Mail Adresse angeben kann.

../../../../_images/user_self_register.png

Danach erhält er eine Bestätigungsmail, mit der er seine Anmeldung abschließen kann. Bis zu diesem Zeitpunkt ist er als inaktiver Nutzer in Mapbender hinterlegt.

Die Texte der Bestätigungsmail können unter /FOM/UserBundle/Resources/translations/messages.de.xlf angepasst werden.

Aktivieren von Nutzern

Seit Mapbender 3.0.5.3. können Benutzer von Administratoren mit mindestens der Benutzer ACL-Rolle “edit” aktiviert oder deaktiviert werden. Dazu dient der Schalter im Edit User Dialog.

Ein Benutzer mit Administrationsrechten kann sich selbst nicht aktivieren oder deaktivieren.

../../../../_images/edit_user_activated.png

Ein Benutzer, der deaktiviert ist, kann sich so lange nicht mehr im Mapbender anmelden, bis er wieder aktiviert wird.

../../../../_images/user_account_is_disabled.png

Benutzer, die sich selbst registriert haben, aber die Freischaltungsmail noch nicht bestätigt haben, können so von einem Administrator per Hand freigeschaltet werden.

Usermanagement über Sicherheitsschlüsselabfrage

Innerhalb jeder Mapbender-Applikation besteht zusätzlich die Möglichkeit der Rechtevergabeanpassung. Im Tab “Layouts” findet sich diese Einstellung in Form eines Schlüssels neben jedem Element.

Um anzupassen, ob jemand Zugriff auf das Element hat, muss zunächst auf den Schlüssel geklickt werden. Im Anschluss kann ein Nutzer hinzugefügt werden. Dies geschieht über das “+”-Symbol.

Ein gesetzter Haken neben dem entsprechenden Nutzeraccount erlaubt dem jeweiligen Nutzer den Zugriff. Der Schlüssel wird nach erfolgreicher Rechtevergabe rot. Wenn Sie nun den Cursor über den Schlüssel halten, sehen Sie die Namen der berechtigten Nutzer in einem Pop-Up Fenster.

../../../../_images/element_security_key_popup.png

Login Fehler

Fehlerhafte Logins werden mit der Meldung “Login fehlerhaft” kommentiert. Aus Sicherheitsgründen wird nicht genannt, ob es am falschen Loginnamen oder falschen Passwort liegt. Login Fehler schließen den Account nicht dauerhaft aus. Vielmehr wird der Account für eine bestimmte Zeit ausgeschlossen (gelockt).

Die config.yml ermöglicht die Anpassung des Verhaltens:

fom_user:

    # Allow to create user log table on the fly if the table doesn't exits.
    # Default: true
    auto_create_log_table: true

    # Time between to check login tries
    login_check_log_time: "-5 minutes"

    # Login attemps before delay starts
    login_attempts_before_delay: 3

    # Login delay after all attemps are failed
    login_delay_after_fail: 2 # Seconds
  • auto_create_log_table: Angabe zur Rückwärtskompatibilität (Default: true).
  • login_check_log_time: Angabe zur Bereinigung der Login-Failure Tabelle (Default: -5 minutes)
  • login_attempts_before_delay: Anzahl der Login Versuche, bevor das Login-Delay greift (Default: 3)
  • login_delay_after_fail: Länge des Login-Delays in Sekunden (Default: 2).