Benutzer-Verwaltung

Das usermanagement-Modul ist eine umfassende und direkt einsetzbare Komponente, die dem Entwickler bei der Verwaltung von Benutzern, Gruppen, Rollen und Berechtigungen unterstützt.

Es ist dafür konzeptioniert, als Basis für beliebige Anwendungen direkt und ohne Anpassung eingesetzt zu werden. Hierzu werden eine Verwaltungsoberfläche und eine Reihe von Komponenten (z.B. Login, Registrierung) angeboten. Diese helfen dem Entwickler helfen, Benutzer-basierte Anwendungen schnell und effizient umzusetzen.

Die folgenden Kapitel beschreiben nun die zugrundeliegenden Konzepte, das Datenmodell und die Anwendung des Moduls auf unterschiedlichen Ebenen.

Bitte beachten Sie, dass die Kapitel 5 und 6 noch nicht vollständig sind.

1. Konzepte

Im Kern handelt es sich bei der vorliegenden Implementierung um eine Rollen-basierte Benutzer-Verwaltung (RBAC-Konzept) mit Unterstützung von Funktions- und Sichtbarkeits-Berechtigungen um Zugriff auf Objekte einer Anwendung getrennt verwalten zu können. Auf diese Art und Weise lassen sich alle Typen von Anwendung realisieren.

Ferner unterstützt das usermanagement-Modul ein mehrfaches, Mandanten-fähiges Setup, da die Entität Applikation als eigener Datentyp modelliert ist.

1.1. Benutzer

Benutzer bilden das zentrale Element des Benutzer-Verwaltungs-Moduls. Nur ein Benutzer kann registriert werden und hat Zugriff auf eine Anwendung. Die Anzahl der Benutzer ist nicht beschränkt.

Die Attribute und Zustände eines Benutzers können genutzt werden um Anzeigelogik zu steuern oder Zufriff auf Funktionen und Objekte zu gewähren.

1.2. Gruppen

Gruppen sind zunächst ein Container für einen oder mehrere Benutzer. Dabei kann jeder Benutzer einer beliebigen Anzahl von Gruppen zugeordnet sein und es kann eine beliebige Anzahl von Gruppen geben.

Weitehin dienen Gruppen dazu, Funktions- und Sichtbarkeits-Berechtigungen schnell und einfach an mehrere Benutzer zuzuweisen. Dies erleichtert zum einen die Administration von Funktions- und Sichtbarkeitsberechtigungen, ermöglicht jedoch auch in enfachen Anwendungen die Steuerung von Benutzer-Berechtigungen.

Gruppen können kein Mitglied einer weiteren Gruppe sein.

1.3. Rollen und Funktions-Berechtigungen

Rollen dienen der Zuordnung von Funktions-Berechtigungen zu einem Benutzer. Mit einer definierten Rolle hat ein Benutzer beispielsweise die Möglichkeit einen News-Eintrag zu bearbeiten, nicht aber zu veröffentlichen oder zu löschen. Die konkreten Berechtigungen werden über Berechtigungen (permissions) angelegt. Eine Permission definiert sich über einen Schlüssel und einen Wert, der innerhalb der Applikation als Kenner für die Freischaltung oder Verweigerung einer Berechtigung genutzt werden kann. Eine Rolle vereint ein oder mehrere Berechtigungen und definiert somit eine konkrete Applikations-Rolle aus fachlicher Sicht.

Die Anzahl der Rollen und Funktions-Berechtigungen ist nicht beschränkt.

1.4. Sichtbarkeits-Berechtigungen

Über eine Sichtbarkeits-Berechtigung wird festgelegt, welcher Benutzer und/oder welche Gruppe Zugriff auf ein Objekt einer Applikation besitzt. Da das vorliegende Modul für jede Anwendungen eingesetzt werden können soll, werden innerhalb des Moduls Stellvertreter-Objekte gepflegt, die Objekt-Typen und -IDs der realen Objekte einer Applikation repräsentieren. So ist eine allgemeingültige Einsatzmöglichkeit geschaffen, die innerhalb des Moduls selbst für eine einfache Integration in die mitgelieferte Verwaltungs-GUI schafft.

Sichtbarkeits-Berechtigungen regeln den Zugriff auf ein Objekt. Besitzt ein Benutzer oder ein Benutzer über seine Gruppe die Sichtbarkeits-Berechtigung auf ein Objekt, so kann er dieses in einer Oberfläche sehen. Welche Aktionen für den Benutzer mit dem Objekt verknüpft sind, regelt Rollen und Funktions-Berechtigungen.

Die Stellvertreter-Objekte repräsentieren zum einen einen konkreten Objekt-Typ einer Anwendung über eine Beziehung zu einem Sichtbarkeits-Berechtigungs-Typ und prägen Beziehungen zu Benutzern und Gruppen aus. Dadurch ist es möglich zu definieren, welcher Benutzer auf welches Objekt eines definierten Typs Zugriff hat. Implizit kann eine Berechtigung auch auf der Ebene von Gruppen vergeben oder eine Mischung genutzt werden.

2. Komponenten

Das Benutzer-Verwaltungs-Modul besteht aus mehreren Komponenten:

  • Verwaltungs-Frontend
  • Datenhaltung basierend auf dem Generischer O/R-Mapper (GORM)
  • Service für die Integration in Applikationen
  • Registrierung und Login
  • Taglibs zur Benutzer-abhängigen Steuerung von Inhalten

Das Verwaltungs-Frontend dient der Pflege der Benutzer, Gruppen und Berechtigungen. Es beinhaltet bereits alle Funktionen, die notwendig sind, um Administratoren ein Backend zur Verfügung zu stellen.

Die Datenhaltung basiert auf dem GORM. Das bedeutet, dass die Attribute eines Benutzers jederzeit erweitert oder neue Beziehungen erzeugt werden können. Durch die Konfiguration per DI-Container bleiben diese Änderungen vor der konkreten Applikation versteckt, können aber trotzdem vom GORM im Hintergrund verwaltet werden. Ein Beispiel hierfür ist ein Objekt mit Einstellungen für eine konkrete Applikation, die mit einer Assoziation an einen Benutzer gebunden werden soll. Hierzu kann die Konfiguration des GORM für das UMGT entsprechend angepasst werden ohne dass eine Änderung des Codes notwendig ist.

Als zentraler Service steht der UmgtManager zur Verfügung. Dieser wird sowohl im Frontend als auch in den GUI-Komponenten eingesetzt. Nutzen Sie das UMGT innerhalb einer Applikation, so stellt Ihnen der Service alle notwenigen Funktionalitäten zur Verwaltung von Benutzern, Gruppen und Berechtigungen zur Verfügung.

Des Weiteren bringt das Modul bereits einige direkt einsetzbare Komponenten mit. Diese erleichtern den Einsatz des Moduls und implementieren oft benötigte Funktionalitäten, damit Sie Ihre Anwendung schnell, sicher und einfach realisieren können. Inkludiert ist Registrierung eines neuen Benutzer-Accounts und das Login. Diese können ohne Code-Anpassung in die bestehende Applikation eingebunden und durch CSS-Styles entsprechend formatiert werden.

Zur Steuerung von Inhalten auf Ihrer Webseite oder Web-Applikation stehen eine Reihe von Taglibs zur Verfügung. Diese basieren im Wesentlichen auf den Funktionalitäten des UmgtManager und werden durch eine Evaluierungs- sowie Login-Logik erweitert. Hiermit lassen sich beispielsweise die Benutzer-abhängige Anzeige von Inhalts-Bereichen und Navigations-Elementen oder auch eine Layout-Steuerung realisieren.

3. Installation

Die Installation des Moduls kann auf zwei verschiedene Arten erfolgen: automatisiert per Wizzard in der Sandbox und manuell.

Nachdem das Setup abgeschlossen ist, können sowohl die Verwaltungs-Oberfläche als auch Registrierung und Login direkt in der Applikation genutzt werden.

3.1. Installation via Sandbox

Die Sandbox des APF (Sie können die apf-demopack-*-Pakete jederzeit unter Downloads herunterladen) beinhaltet einen Wizzard, der es ermöglicht, das Modul in mehreren Schritten zu konfigurieren und zu initialisieren.

Der Wizzard erstellt die notwendigen Datenbank- und Service-Konfigurationen und erstellt die Tabellen des Moduls in einer von Ihnen gewählten Datenbank. Anschließend ist das Modul innerhalb der Sandbox fertig einsetzbar. Sie können sich einloggen, das Benutzer-Verwaltungs-Oberfläche nutzen und erhalten je nach Konfiguration Benutzer-spezifische Inhalte (z.B. Navigations-Punkte) angezeigt.

Nachteil dieser Methode ist, dass das Modul lediglich innerhalb der Sandbox vollständig lauffähig ist und die erstellten Konfigurationen und die Einbindung in die GUI dann in das jeweilige Webseiten-Projekt übernommen werden muss.

Die folgenden Kapitel beschreiben das Setup des Moduls innerhalb der Sandbox Schritt für Schritt.

3.1.1. Übersicht

Der Setup-Wizzard verbirgt sich hinter dem Navigationspunkt Benutzer-Verwaltungs-Wizzard. Dort finden Sie nicht nur den Wizzard selbst, sondern auch Links zu Login und Registrierung.

Benutzer-Verwaltungs-Wizzard des APF

Das Modul selbst ist an mehreren Stellen in die Sandbox per Taglib integriert und stellt das Verwaltungs-Frontend, den Login und die Registrierung dar.

3.1.2. Datenbank-Konfiguration

Um das Modul nutzen zu können, muss einer Datenbank-Konfiguration angelegt werden. Hierzu fragt der Wizzard im ersten Schritt die Verbindungsdaten ab, die dann in der Datei /APF/config/core/database/{CONTEXT}/{ENVIRONMENT}_connections.ini als Sektion Sandbox-UMGT gespeichert wird.

Datenbank-Setup der Benutzer-Verwaltungs-Wizzard des APF

Hierbei werden die Features des Konfigurations-Features genutzt. Details zur Konfiuration von Datenbank-Verbindungen finden Sie unter ConnectionManager.

3.1.3. Datenbank-Setup

Nach dem Erstellen der Datenbank-Verbindung muss die Datenbank noch initialisiert werden. Da der Generischer O/R-Mapper eingesetzt wird kann die mit dem Setup- oder Update-Tool (GenericORMapperManagementTool) erledigt werden.

Sämtliche Konfigurationen für das Modul sind in der Sandbox bereits vorkonfiguriert und müssen nicht per Hand angelegt werden.

Datenbank-Initialsierung der Benutzer-Verwaltungs-Wizzard des APF
3.1.4. Benutzer anlegen

Nachdem die Datenbank initialisiert ist haben Sie die Möglichkeit initiale Benutzer anzulegen. Mit diesen können Sie sich dann an der Sandbox anmelden.

Benutzer anlegen in der Benutzer-Verwaltungs-Wizzard des APF

Das Formular deckt nur Benutzer-Namen und Passwort ab. Alle weiteren Konfigurationen können entweder direkt in der Verwaltungsoberfläche erledigt werden oder Sie nutzen zum Anlegen des Benutzers das Registrieren-Formular.

3.1.5. Verwaltungs-Frontend nutzen

Zur Administration kann die mit dem Modul mitgelieferte Verwaltungs-Frontend genutzt werden. Dieses verfügt über alle Funktionalitäten, die für die Verwaltung von Benutzern, Gruppen und Berechtigungen notwendig sind.

Sie können nun die im Wizzard angelegten Benutzer konfigurieren oder eigene Benutzer, Gruppen, Rollen usw. anlegen. Details zu Bedienung finden Sie im Kapitel Bedienung des Verwaltungs-Frontends.

3.1.6. Login

Mit dem neu angelegten Benutzer ist es nun möglich, sich an der Sandbox anzumelden. Hierzu wird die mitgelieferte Login-Komponente genutzt. Diese stellt ein Formular, den Authentifizierungsmechanismus und eine Front-Controller-Action bereit, mit der sich ein Benutzer wieder abmelden kann.

Login in der Benutzer-Verwaltungs-Wizzard des APF

Mit Hilfe der mitgelieferten Benutzer-abhängigen Tags erhalten werden für angemeldete und nicht angemeldete Benutzer jeweils andere Inhalte (z.B. Login/Logout-Button) angezeigt.

3.2. Manuelle Installation

Möchten Sie das Setup für ein Webseiten-Projekt oder eine Applikation einsetzen, wird das manuelle Setup empfohlen. Mit diesem haben Sie die volle Kontrolle über die erstellten Konfigurationen und können jederzeit steuernd eingreifen.

Nachteil dieser Methode ist jedoch, dass Sie alle Konfigurations-Dateien manuell anlegen müssen. Die folgenden Kapitel beschreiben die notwendigen Schritte jedoch im Detail.

3.2.1. Datenbank-Konfiguration

Das Modul basiert - wie bereits angesprochen - auf dem Generischer O/R-Mapper zur Verwaltung der Benutzer-Daten. Zur Konnektierung der Datenbank kann eine bestehende oder neu erstellte Sektion in der Datei

Code
/APF/config/core/database/{CONTEXT}/{ENVIRONMENT}_connections.ini

verwendet werden.

Details zur Konfiguration von Datenbank-Verbindungen finden Sie unter ConnectionManager. Für die weitere Dokumentation nutzen wir folgendes Beispiel:

APF-Konfiguration
[Sandbox-UMGT] Host = "localhost" Port = "3306" User = "root" Pass = "..." Name = "umgt_sandbox" Collation = "utf8_general_ci" Charset = "utf8" Type = "MySQLi"
3.2.2. Modul-Konfiguration

Im nächsten Schritt werden nun die Konfigurationen des Moduls angelegt. Diese sind:

Pfad Name Beschreibung
/APF/config/modules/usermanagement/data/{CONTEXT}/ {ENVIRONMENT}_umgt_objects.ini Definition der Benutzer-Verwaltungs-Objekte (z.B. Benutzer) für den Generischer O/R-Mapper.
/APF/config/modules/usermanagement/data/{CONTEXT}/ {ENVIRONMENT}_umgt_relations.ini Definition der Beziehungen zwischen den Objekten für den Generischer O/R-Mapper.
/APF/config/modules/usermanagement/data/{CONTEXT}/ {ENVIRONMENT}_umgt_domainobjects.ini Definition der Domänen-Objekte für den Generischer O/R-Mapper. Details können dem Kapitel Generischer O/R-Mapper entnommen werden.
/APF/config/modules/usermanagement/biz/{CONTEXT}/ {ENVIRONMENT}_serviceobjects.ini Konfiguration des UmgtManager-Service über den DIServiceManager.
/APF/config/modules/usermanagement/biz/{CONTEXT}/ {ENVIRONMENT}_umgtconfig.ini Konfiguration der Password-Hash-Provider (TODO: Link auf das entsprechende Kapitel).
/APF/config/modules/usermanagement/biz/{CONTEXT}/ {ENVIRONMENT}_actionconfig.ini Konfiguration für die Front-Controller-Actions des Moduls (Logout).
/APF/config/modules/usermanagement/pres/{CONTEXT}/ {ENVIRONMENT}_login.ini Konfiguration der Login-Funktionalität hinsichtlich der Login-Methode (E-Mail oder Benutzer-Name).
/APF/config/modules/usermanagement/pres/{CONTEXT}/ {ENVIRONMENT}_labels.ini Konfiguration der Beschriftung der GUI-Komponenten (Login, Registrierung).
/APF/config/modules/usermanagement/pres/{CONTEXT}/ {ENVIRONMENT}_registration.ini Konfiguration der Registrierung hinsichtlich der automatischen Zuweisung von Gruppen und Rollen.
3.2.2.1. Konfiguration der Daten-Schicht

Bitte legen Sie die für die ersten drei Dateien die in der Tabelle genannten Ordner an und beziehen eine apf-configpack-*-Datei unter Downloads.

Die Vorlage für die Datei

Code
/config/modules/usermanagement/data/{CONTEXT}/{ENVIRONMENT}_umgt_objects.ini

finden Sie beispielsweise unter

Code
/config/modules/usermanagement/data/EXAMPLE_umgt_objects.ini

Diese müssen dann in den entsprechenden Ordner kopiert und gemäß der aktuellen Umgebungs-Konfiguration umbenannt werden. Details zum Konfigurations-Schema finden sind unter Konfiguration.

3.2.2.2. Konfiguration der Business-Services

Die Konfiguration der Business-Services umfasst - wie in der obigen Tabelle beschrieben - drei Konfigurationen.

Die Datei {ENVIRONMENT}_serviceobjects.ini definiert den UmgtManager-Service, der als zentrale Anlaufstelle für die Benutzer-Verwaltung eingesetzt wird. Bitte nutzen Sie die Datei

Code
/config/modules/usermanagement/biz/EXAMPLE_serviceobjects.ini

als Basis für die Konfiguration Ihrer Applikation und kopieren diese in den entsprechenden Ordner. Details zum Konfigurations-Schema finden sind unter Konfiguration. Die Datei beinhaltet folgende Service-Definitionen:

Name Beschreibung
LoginRedirectUrlProvider

Die mit dem Modul mitgelieferte Login-Komponente leitet den Benutzer nach dem erfolgreichen Login auf eine dedizierte Seite weiter. Mit Hilfe des LoginRedirectUrlProvider kann für den konkreten Einsatz des Benutzer-Verwaltungs-Moduls definiert werden, wohin der Benutzer im aktuellen Projekt geleitet wird.

Der hier erwartete Service muss das Interface UmgtRedirectUrlProvider implementieren.

LogoutRedirectUrlProvider

Analog zum LoginRedirectUrlProvider ist dieser Servive dafür verantwortlich, diejenige Url zu generieren, zu der der Benutzer nach dem Logout geleitet wird.

Der hier erwartete Service muss ebenfalls das Interface UmgtRedirectUrlProvider implementieren.

UmgtManager Der UmgtManager ist der zentrale Service des Benutzer-Management-Moduls. Er findet sowohl in der mitgelieferten Verwaltungs-Oberfläche als auch in den einzelnen Benutzer-Komponenten wie Login und Registrierung Anwendung.
GORM

Der Generischer O/R-Mapper wird zur Abstraktion der Datenhaltung eingesetzt und dient dem UmgtManager als Datenquelle. Um eine Trennung zwischen Konfiguration und Code zu erreichen, wird der Mapper über den DIServiceManager konfiguriert und dem UmgtManager injiziert.

Durch diese Art der Konfiguration kann die Instanz des GORM jederzeit um weitere Mapping- und Beziehungs-Konfigurationen transparent erweitert werden. Dies kann beispielsweise für die Verwaltung von weiteren Applikations-spezifischen Objekten sein.

Die Implementierung eines UmgtRedirectUrlProvider für Login und Logout muss dem Interface

PHP-Code
interface UmgtRedirectUrlProvider { public function getRedirectUrl(); }

genügen. Das Login in der Sandbox sieht vor, dass der Benutzer nach einem erfolgreichen Login wieder auf die Login-Seite geleitet wird. Grund dafür ist, dass das Login-Formular in seinem zweiten Status repräsentiert werden soll.

Der dafür notwendige Code gestaltet sich wie folgt:

PHP-Code
class SandboxLoginRedirectProvider extends APFObject implements UmgtRedirectUrlProvider { public function getRedirectUrl() { return '?page=login'; } }

Da der Provider über den DIServiceManager bezogen wird, kann für die Implementierung auch die Signatur

PHP-Code
class SandboxLoginRedirectProvider implements UmgtRedirectUrlProvider, APFDIService { ... }

verwendet werden. Eine "manuelle" Implementierung ist jedoch nicht notwendig, da die Klasse APFObject bereits alle notwendigen Funktionen für einen Service gemäß der Interface-Definition von APFDIService mitbringt (z.B. Injektion des Contextes).

Nutzen Sie de Beispiel-Konfiguration aus dem apf-configpack-* muss bei der Konfiguration des Generischer O/R-Mapper lediglich die notwendige Datenbank-Verbindung im Attribut conf.db.value angegeben werden.

Die fertige Konfiguration für die Sandbox sieht wie folgt aus:

APF-Konfiguration
[LoginRedirectUrlProvider] servicetype = "NORMAL" class = "SB\pres\provider\SandboxLoginRedirectProvider" [LogoutRedirectUrlProvider] servicetype = "NORMAL" class = "SB\pres\providerSandboxLogoutRedirectProvider" [UmgtManager] servicetype = "SINGLETON" class = "APF\modules\usermanagement\biz\UmgtManager" setupmethod = "setup" init.orm.method = "setORMapper" init.orm.namespace = "APF\modules\usermanagement\biz" init.orm.name = "GORM" conf.app-id.method = "setApplicationId" conf.app-id.value = "1" [GORM] servicetype = "SINGLETON" class = "APF\modules\genericormapper\data\GenericORRelationMapper" setupmethod = "setup" conf.namespace.method = "setConfigNamespace" conf.namespace.value = "APF\modules\usermanagement\data" conf.affix.method = "setConfigNameAffix" conf.affix.value = "umgt" conf.db.method = "setConnectionName" conf.db.value = "Sandbox-UMGT"
3.2.2.3. Konfiguration der Password-Hash-Provider

Die Verschlüsselung von Passwörtern wird im UmgtManager über ein oder mehrere PasswordHashProvider-Implementierungen realisiert. Dies bietet die Möglichkeit, je nach Anwendungsfall und Sicherheitsanforderungen die Implementierung auszutauschen.

Die Zuweisung der jeweils gültigen Implementierung(en) erfolgt in der Datei {ENVIRONMENT}_umgtconfig.ini. Als Vorlage können Sie die Datei

Code
/config/modules/usermanagement/biz/EXAMPLE_umgtconfig.ini

aus dem apf-configpack-* nutzen. Kopieren Sie diese dazu zunächst an den für Ihre Applikation gültigen Ort. Details zum Konfigurations-Schema finden sind unter Konfiguration.

Mit Version 1.14 wurde der bisher mit dem APF ausgelieferte Verschlüsselungsmechanismus durch einen komplexeren und sichereren ersetzt. Dieser nutzt die Funktion crypt() in Verbindung mit einem statischen und einem dynamischen Salt.

Es wird dringend empfohlen auf den Einsatz von als unsicher eingestuften Algorithmen (z.B. md5) zu verzichten um die Daten Ihrer Benutzer bestmöglich zu schützen.

Sollte es notwendig sein, im Betrieb von einem alten Format auf ein neues zu migrieren oder von einem beliebigen sicheren Format auf ein anderes zu wechseln, bietet das Modul bereits einen Standard-Mechanismus an. Dieser wird unter Konfiguration der Password-Hash-Provider Fallbacks näher beschrieben.

Konfigurieren Sie nun den statischen Salt mit Hilfe des Attributs Salt. Die Konfiguration sieht damit beispielsweise wie folgt aus:

APF-Konfiguration
[Default] PasswordHashProvider.Default.Class = "APF\modules\usermanagement\biz\provider\crypt\CryptHardcodedSaltPasswordHashProvider" Salt = "...mein statischer Salt..."

Desweiteren wird in der Benutzer-Tabelle automatisch für jeden Benutzer ein eindeutiger und dynamisch generierter DynamicSalt gespeichert um dedizierte Angriffe auf den Authentifizierungs-Mechanismus geziehlt abzuwehren.

Das APF bringt im Auslieferungszustand zwei Implementierungen mit: CryptHardcodedSaltPasswordHashProvider (neuer, sicherer Mechanismus) und OldMD5PasswordHashProvider (alter, unsicherer Mechanismus). Um eine eigene Komponente für die Verschlüsselung von Passwörtern zu nutzen, muss zunächst eine PHP-Klasse erstellt werden, die das PasswordHashProvider Interface implemeniert. Dieses definiert eine Methode, die ein übergebenes Password in einen Hash umwandeln soll. Für die Nutzung des SHA1-Algorithmus ist die Implementierung wie folgt:

PHP-Code
use APF\modules\usermanagement\biz\PasswordHashProvider; class Sha1PasswordHashProvider extends DefaultPasswordHashProvider { public function createPasswordHash($password, $dynamicSalt) { return sha1($password); } }

Soll die oben gezeigte Konfiguration ersetzt werden, muss Ihre {ENVIRONMENT}_umgtconfig.ini folgende Zeilen beinhalten:

APF-Konfiguration
[Default] PasswordHashProvider.Default.Class = "VENDOR\..\Sha1PasswordHashProvider"

Die Direktive Salt wurde nicht definiert, da der Provider keinen statischen Salt nutzt.

3.2.2.4. Konfiguration der Password-Hash-Provider Fallbacks

Seit Version 1.14 ist es möglich mehrere PasswordHashProvider gleichzeitig einzusetzen, um von einem (alten) Hash-Algorythmus auf einen neuen bzw. anderen umsteigen zu können. Dieser Mechanismus bietet dne Vorteil, dass Benutzer Ihre Passwörter nicht ändern müssen, sondern der Update-Prozess transparent im Hintergrund passiert.

Nutzen Sie die Soft-Migration nicht, können sich Ihre Benutzer nach einer Umstellung des Hash-Algorithmus nicht mehr einloggen.

Um den Fallback zu realisieren, werden mehrere PasswordHashProvider in der Konfiguration definiert. Der zuerst definierte Provider entspricht dabei dem "neuen" bzw. aktuell gültigen Provider. Alle Weiteren werden als Fallback angesehen. Bei einem Login wird zuerst versucht das übergebene Passwort mit dem "neuen" bzw. aktuell gültigen Provider zu verschlüsseln und mit dem gespeicherten zu vergleichen. Gibt es hierbei keine Übereinstimmung, werden der Reihe nach die übrigen Provider genutzt. Wird ein übereinstimmender Hash mit einem der Fallback-Provider gefunden, aktualisiert der UmgtManager im Hintergrund automatisch den Hashwert in der Datenbank auf das Format des neuen, zuerst definierten Providers. Für den Benutzer ist dieser Prozess transparent und sein Login-Versuch wird natürlich akzeptiert.

Auf diesem Weg sollten unter der Voraussetzung, dass sich jeder Benutezr mindestens einmal eingeloggt, nach einer gewissen Zeit alle Hashwerte auf das neue Verfahren umgestellt sein.

Um einen Fallback von der "alten" Implementierung des APF auf den CryptHardcodedSaltPasswordHashProvider zu realisieren, ist folgende Konfiguration notwendig:

APF-Konfiguration
PasswordHashProvider.Default.Class = "APF\modules\usermanagement\biz\provider\cryptCryptHardcodedSaltPasswordHashProvider" PasswordHashProvider.Fallback.Class = "APF\modules\usermanagement\biz\provider\md5\OldMD5PasswordHashProvider"
Die Bezeichnung der Subsections (hier Default und Fallback) ist dabei nicht relevant, die Reihenfolge ist ausschlaggebend.
3.2.2.5. Konfiguration der Front-Controller-Actions

Die Logout-Funktionalität ist über eine eigene Front-Controller-Action realisiert. Hierzu ist eine Konfiguration der Action-Implementierung notwendig.

Kopieren Sie daher die Datei

Code
/config/modules/usermanagement/biz/EXAMPLE_actionconfig.ini

aus dem apf-configpack-* an den für Ihre Applikation gültigen Ort. Details zum Konfigurations-Schema finden sind unter Konfiguration.

Da die Definition der Action keine dynamischen Parameter beinhaltet, ist keine weitere Anpassung notwendig. Der Inhalt der Datei gestaltet sich wie folgt:

APF-Konfiguration
[logout] ActionClass = "APF\modules\usermanagement\biz\login\UmgtLogoutAction"
3.2.2.6. Konfiguration des Login

Für die Konfiguration das Login kopieren Sie bitte die Datei

Code
/config/modules/usermanagement/pres/EXAMPLE_login.ini

aus dem apf-configpack-* an den für Ihre Applikation gültigen Ort. Details zum Konfigurations-Schema finden sind unter Konfiguration.

Innerhalb der Datei haben Sie die Möglichkeit, zwischen einer Authentifizierung durch

  • Benutzer-Name und Passwort (Schlüssel: username) sowie
  • E-Mail-Adresse und Passwort (Schlüssel: email)

zu wählen. Hinweise zu den entsprechenden Werten finden Sie in der Beispiel-Konfiguration.

3.2.2.7. Konfiguration der Registrierung

Im Zuge der Registrierung können einem neuen Benutzer direkt Gruppen und Rollen zugewiesen werden. Um dieses Feature zu nutzen, wird die optionale Konfiguration {ENVIRONMENT}_registration.ini benötigt.

Die Konfiguration ist optional. Ist diese nicht vorhanden oder finden sich darin Konfigurationsfehler, wird ein Hinweis im *_registration.log erstellt.

Kopieren Sie dazu die Beispiel-Datei

Code
/config/modules/usermanagement/pres/EXAMPLE_registration.ini

aus dem apf-configpack-* an den für Ihre Applikation gültigen Ort. Details zum Konfigurations-Schema finden sind unter Konfiguration. Anschließend können Sie in der Sektion Default eine beliebige Anzahl an Gruppen und Rollen definieren, zu denen der registrierte Benutzer zugewiesen wird.

Bitte beachten Sie, dass die Gruppen und Rollen bereits vorhanden sein müssen, da eine Zuweisung sonst nicht möglich ist!

Die Definition der Gruppen und Rollen erfolgt nach dem folgenden Schema:

APF-Konfiguration
[Default] group.{IDENTIFIER_1} = "..." group.{IDENTIFIER_2} = "..." role.{IDENTIFIER_3} = "..." role.{IDENTIFIER_4} = "..."

Gruppen werden unter der Sub-Sektion group definiert und erhalten jeweils ein eindeutiges Kennzeichen. Rollen sind unter role gruppiert und auch hier trägt jede Rollen-Definition ihre eigenes Kennzeichen. Die Kennzeichen müssen innerhalb jeder Sub-Sektion, jedoch nicht Sub-Sektion-übergreifend eindeutig sein. Als Kennzeichen kann eine beliebige Zeichenkette genutzt werden. Beispiel:

APF-Konfiguration
[Default] group.one = "Registered users" group.two = "Beginner" role.a = "Account functionality" role.b = "Editorial functionality"
3.2.2.8. Konfiguration der Verschlüsselung von Benutzerdaten

Die Benutzer-Verwaltung beinhaltet ein weiteres Sicherheitsfeature: Auf Wunsch ist es möglich, beliebige Felder (abgesehen von der Benutzer-ID) des UmgtUser-Objektes automatisch zu verschlüsseln. Dies geschieht transparent für die Anwendung, sodass die Anwendung selber sich um nichts kümmern muss. Die gewünschten Felder werden vor dem Speichern in die Datenbank automatisch verschlüsselt, und nach dem Laden aus der Datenbank automatisch entschlüsselt. Der verschlüsselte Wert wird base64-kodiert in der Datenbank abgespeichert.

Der Schlüssel für die Verschlüsselung setzt sich dabei aus zwei Teilen zusammen:

  • Hardcoded Teil: Dieser Teil des Schlüssels ist fest in den APF-Code einprogrammiert
  • Konfigurierbarer Teil: Dieser Teil wird aus der Konfiguration der Benutzerverwaltung geladen, und sollte für jede Anwendung einzigartig sein.
Aus diesen beiden Teilen wird nach einem eigenen Algorithmus ein Schlüssel mit der benötigten Länge generiert. Dabei wird sichergestellt, dass Teile aus beiden Schlüsseln verwendet werden. Als Verschlüsselungsalgorithmus wird Triple DES im ECB Modus verwendet.

Um die Konfiguration zu aktivieren sind 2 Schritte erforderlich:

1. Konfiguration:
In der Datei {ENVIRONMENT}_umgtconfig.ini müssen 2 Einträge in der [Default]-Sektion angelegt/angepasst werden:

APF-Konfiguration
FieldEncryption.FieldNames = "EMail|Username|Password|..." FieldEncryption.Key = "..."

Der Wert von FieldEncryption.FieldNames definiert, auf welche Felder des UmgtUser-Objektes die Verschlüsselung angewendet werden soll. Mehrere Felder können per | getrennt werden. Abgesehen von der UserID ist es möglich jedes beliebige Feld zu verschlüsseln. Sofern das Password-Feld verschlüsselt wird, wird das Passwort zuerst mit dem konfigurierten Provider gehasht, und anschließend dieser Hash verschlüsselt abgespeichert.

Der Wert des FieldEncryption.Key sollte ein möglichst langer Schlüssel mit Sonderzeichen sein, welcher für jede Anwendung einzigartig sein sollte.

2. Aktivierung
Damit die Verschlüsselung "on-the-fly" erledigt werden kann, ist es notwendig diese über 2 Zeilen Code zu aktivieren, bevor das erste mal mit UmgtUser-Objekten gearbeitet wird oder diese aus der Datenbank geladen werden. Wir empfehlen diese Zeilen einfach in die bootstrap-Datei (z.B. index.php) einzufügen:

PHP-Code
use APF\core\service\DIServiceManager; $umgt = DIServiceManager::getServiceObject('APF\modules\usermanagement\biz', 'UmgtManager', {CONTEXT}, {LANGUAGE}); $umgt->activateEncryption();

Diese Zeilen müssen nach der Einbindung des APF-Core und dem Setzen von Einstellungen an den Konfigurationsprovidern eingefügt werden. Die Platzhalter für Context und Sprache müssen entsprechend Ihrer Anwendung ersetzt werden.

Bitte beachten Sie:
Ein Verlust des konfigurierten Schlüssels hat den Verlust aller verschlüsselten Daten zur Folge.
Wenn eine bestehende Anwendung nachträglich Verschlüsselung erhalten soll, muss der Entwickler sich selbst um die Verschlüsselung der bestehenden Daten kümmern. Der UserFieldEncryptionProvider kann hierbei nach dessen Konfiguration eingesetzt werden, um die Felder manuell zu verschlüsseln.

4. Bedienung des Verwaltungs-Frontends

Die Benutzer-Verwaltung des APF inkludiert ein voll funktionsfähiges und sofort einsetzbares Frontend. Dieses kann mit wenigen Schritten in eine bestehende Applikation integriert werden. Die folgende Abbildung zeigt die Einbindung des Frontends in der Sandbox:

Übersicht Frontend APF Benutzer-Verwaltung

Die folgenden Kapitel beschreiben die einzelnen Bereiche und deren Anwendungsfall im Detail.

4.1. Verwaltung von Benutzern

Unter dem ersten Navigationspunkt (Manage users) - der gleichzeitig der Startseite des Frontends entspricht - befindet sich die Verwaltung der Benutzer. Hier sehen Sie auf den ersten Blick, welche Benutzer im System vorhanden sind und welchen Gruppen sie angehören oder welchen Rollen sie zugewiesen sind.

Der einfachste Anwendungsfall für den Einsatz der APF-Benutzer-Verwaltung ist die Unterscheidung von eingeloggten und nicht eingeloggten Benutzern. Sofern keine Differenzierung von Funktions- oder Sichtbarkeits-Berechtigungen notwendig ist, lässt sich dies bereits mit dem Anlegen von Benutzern realisieren.

Die folgenden Kapitel beschreiben die Funktionen der Benutzer-Ansicht im Detail.

4.1.1. Angezeigte Spalten

Die folgende Tabelle beschreibt die angezeigten Spalten:

Name Beschreibung
1. Spalte Die erste Spalte zeigt das Symbol, das einem entsprechenden Datentyp zugewiesen ist. Es wird jeweils in den Aktions-Symbolen verwendet und ermöglicht so eine Wiedererkennung.
Display name Anzeige-Name des Benutzers. Dieser wird üblicherweise aus Vor- und Zuname zusammengesetzt.
User name Diese Spalte zeigt den Benutzer-Namen an, mit dem sich der Benutzer anmelden kann.
Group(s) Zeigt diejenigen Gruppen an, zu denen der Benutzer zugewiesen ist.
Role(s) Zeigt diejenigen Rollen an, die der Benutzer inne hat.
Action(s) Hier finden Sie die Symbole zu den Aktionen, die auf einen Benutzer angewendet werden können. Details können Sie dem Kapitel Angezeigte Symbole entnehmen.
4.1.2. Angezeigte Symbole

Die folgende Tabelle beschreibt die angezeigten Symbole und die dahinterliegende Funktion:

Symbol Beschreibung
Die Brettspiel-Figur ist das Symbol für Benutzer. Es dient in abgewandelter Form als Grundlage für Benutzer-bezogene Aktionen.
Die Lupe symbolisiert die Details eines Benutzers. Bei Klick auf das Symbol wird die Detail-Ansicht angezeigt.
Schraubenschlüssel und Schraubendreher führen zur Bearbeitungsmaske eines Benutzers.
Mit Hilfe des Mülleimers lässt sich ein Benutzer löschen. Bitte beachten Sie, dass diese Funktion nicht umkehrbar ist.
Möchten Sie einen Benutzer zu einer Gruppe hinzufügen, nutzen Sie bitte dieses Symbol. Bei Klick wird eine Auswahl an möglichen Gruppen zur Auswahl angeboten.
Soll ein Benutzer aus einer Gruppe entfernt werden, nutzen Sie bitte dieses Symbol. Bei Klick wird eine Auswahl an möglichen Gruppen zur Auswahl angeboten.
Um einem Benutzer eine oder mehrere Rollen zuzuweisen, nutzen Sie bitte das Manager-Symbol. Bei Klick wird eine Auswahl an möglichen Rollen zur Auswahl angeboten.
Ist ein Benutzer nicht mehr mit einer Rolle betraut, nutzen Sie bitte dieses Symbol. Bei Klick wird eine Auswahl an möglichen Rollen zur Auswahl angeboten.
4.1.3. Benutzer erstellen

Ein Benutzer kann auf mehrere Arten erstellt werden: über die Registrierung, den Wizzard in der Sandbox und über den Navigationspunkt Add user im Verwaltungs-Frontend der APF Benutzer-Verwaltung.

Das im Frontend angebotene Formular ist identisch mit dem der Registrierung. Die folgende Abbildung zeigt das Eingabe-Formular:

Benutzer erstellen in der APF Benutzer-Verwaltung

Als Pflichtfelder sind

  • Vorname
  • Nachname
  • Benutzer-Name

für die Erstellung eines Benutzers auszufüllen. Mit Klick auf den Send-Button wir der gewünschte Benutzer angelegt und Sie sehen diesen in der Benutzer-Liste.

Bitte beachten Sie, dass die Felder

  • Passwort
  • Passwort-Bestätigung

optional sind. Grund dafür ist, dass nicht bei jeder Änderung des Benutzers auch das Passwort neu vergeben werden möchte.

Damit ist theoretisch ein Login ohne Passwort möglicht, was wiederum durch das mitgelieferte Login-Formular mit Hilfe einer Feldlängenprüfung verhindert wird. Bitte geben Sie trotzdem aus Sicherheitsgründen beim Erstellen eines Benuters immer ein Passwort an.

4.1.4. Benutzer-Details

Mit Hilfe des Lupen-Symbols können Sie die Details des Benutzers anzeigen:

Benutzer-Details in der APF Benutzer-Verwaltung

Die Ansicht zeigt Gruppen, Rollen und Sichtbarkeits-Berechtigungen des Benutzers und erweitert damit die Anzeige der Übersichtsliste.

4.1.5. Benutzer bearbeiten

Mit Hilfe des Schraubenschlüssel-Symbols können Sie die Stammdaten des Benutzers bearbeiten, die bei der Registrierung bzw. der Erstellung erhoben werden.

Benutzer bearbeiten in der APF Benutzer-Verwaltung
Die Eingabefelder für das Passwort des Benutzers sind optional. Soll bei der Bearbeitung das Passwort nicht verändert werden, füllen Sie die beiden Felder bitte nicht aus.
4.1.6. Benutzer löschen

Soll ein Benutzer keinen Zugriff mehr auf Ihre Applikation erhalten, löschen Sie diesen bitte mit Hilfe des Papierkorb-Symbols.

Benutzer löschen in der APF Benutzer-Verwaltung

Bestätigen Sie anschließend den Klick auf den Papierkorb mit Ja um den Benutzer tatsächlich zu löschen. Bitte beachten Sie, dass diese Aktion nicht mehr rückgängig gemacht werden kann.

Soll ein Benutzer wieder Zugriff auf Ihre Applikation erhalten, legen Sie bitte einen neuen Benutzer an und weisen ihm die geeigneten Gruppen und Rollen zu.

4.1.7. Benutzer zu einer Gruppe hinzufügen

Wie im Kapitel 1.2. beschrieben, dienen Gruppen der Zusammenfassung von Benutzern für die Zuweisung von Sichtbarkeits- und Funktionsberechtigungen.

Benutzer zu einer Gruppe hinzufügen in der APF Benutzer-Verwaltung

Mit Hilfe des "Gruppe(n) hinzufügen"-Symbols können Sie - ausgehend von der Benutzer-Liste - einem Benutzer ein oder mehrere Gruppen zuweisen. Wählen Sie hierzu eine oder mehrere Gruppen im Auswahlfeld aus und bestätigen die Aktion mit dem Add-Button. Anschließend wird die Benutzer-Liste angezeigt.

Bitte beachten Sie, dass das Auswahlfeld nur diejenigen Gruppen beinhaltet, die dem Benutzer noch nicht zugeordnet sind.
4.1.8. Benutzer aus einer Gruppe entfernen

Soll ein Benutzer aus einer Gruppe entfernt werden, klicken Sie bitte in der Benutzer-Liste auf das "Gruppe(n) entfernen"-Symbol und markieren diejenigen Gruppen, aus der der Benutzer entfernt werden soll.

Benutzer aus einer Gruppe entfernen in der APF Benutzer-Verwaltung

Bestätigen Sie anschließend die Auswahl mit dem Remove-Button. Anschließend wird die Benutzer-Liste angezeigt.

Bitte beachten Sie, dass das Auswahlfeld nur diejenigen Gruppen beinhaltet, die dem Benutzer aktuell zugeordnet sind.
4.1.9. Benutzer zu einer Rolle zuweisen

Zur Zuordnung einer oder mehrere Rollen zu einem Benutzer nutzen Sie bitte das "Rolle(n) zuweisen"-Symbol in der Benutzer-Liste.

Benutzer einer Rolle zuordnen in der APF Benutzer-Verwaltung

Wählen Sie nun die gewünschte(n) Rolle(n) aus uns bestätigen die Aktion mit dem Assign-Button. Anschließend wird die Benutzer-Liste angezeigt.

Bitte beachten Sie, dass das Auswahlfeld nur diejenigen Rollen beinhaltet, die dem Benutzer noch nicht zugeordnet sind.
4.1.10. Benutzer eine Rolle entziehen

Soll ein Benutzer eine Rolle innerhalb der Applikation nicht mehr ausüben dürfen, können Sie eine Zuweistung mit Hilfe des "Rolle(n) entziehen"-Symbols in der Benutzer-Liste aufheben.

Benutzer eine Rolle eintziehen in der APF Benutzer-Verwaltung

Wählen Sie nun die gewünschte(n) Rolle(n) aus uns bestätigen die Aktion mit dem Remove-Button. Anschließend wird die Benutzer-Liste angezeigt.

Bitte beachten Sie, dass das Auswahlfeld nur diejenigen Rollen beinhaltet, die dem Benutzer aktuell zugeordnet sind.

4.2. Verwaltung von Gruppen

Gruppen, wenn einheitliche, fachliche Behandlung von Benutzern in Applikationen (Beispiel?) oder Zusammenfassung zur Zuweisung von Funktions- oder Sichtbarkeitsberechtigungen (siehe Folge-Kapitel).

Verwaltung von Gruppen in der APF Benutzer-Verwaltung

Die folgenden Kapitel beschreiben die Funktionen der Gruppen-Ansicht im Detail.

4.2.1. Angezeigte Spalten

Die folgende Tabelle beschreibt die angezeigten Spalten:

Name Beschreibung
1. Spalte Die erste Spalte zeigt das Symbol, das einem entsprechenden Datentyp zugewiesen ist. Es wird jeweils in den Aktions-Symbolen verwendet und ermöglicht so eine Wiedererkennung.
Display name Anzeige-Name der Gruppe.
User(s) Diese Spalte beinhaltet jene Benutzer-Namen, die der Gruppe zugewiesen sind.
Role(s) Zeigt diejenigen Rollen an, die der Gruppe zugewiesen wurden.
Action(s) Hier finden Sie die Symbole zu den Aktionen, die auf eine Gruppe angewendet werden können. Details können Sie dem Kapitel Angezeigte Symbole entnehmen.
4.2.2. Angezeigte Symbole

Die folgende Tabelle beschreibt die angezeigten Symbole und die dahinterliegende Funktion:

Symbol Beschreibung
Das Brettspiel-Figur-Doppel ist das Symbol für Gruppen. Es dient in abgewandelter Form als Grundlage für Gruppen-bezogene Aktionen.
Die Lupe symbolisiert die Details einer Gruppe. Bei Klick auf das Symbol wird die Detail-Ansicht angezeigt.
Schraubenschlüssel und Schraubendreher führen zur Bearbeitungsmaske einer Gruppe.
Mit Hilfe des Mülleimers lässt sich eine Gruppe löschen. Bitte beachten Sie, dass diese Funktion nicht umkehrbar ist.
Möchten Sie einen Benutzer zu dieser Gruppe hinzufügen, nutzen Sie bitte dieses Symbol. Bei Klick wird eine Auswahl an möglichen Benutzern angeboten.
Soll ein Benutzer aus dieser Gruppe entfernt werden, nutzen Sie bitte dieses Symbol. Bei Klick wird eine Auswahl an möglichen Benutzern angeboten.
Um einr Gruppe eine oder mehrere Rollen zuzuweisen, nutzen Sie bitte das Manager-Symbol. Bei Klick wird eine Auswahl an möglichen Rollen zur Auswahl angeboten.
Ist eine Gruppe nicht mehr mit einer Rolle betraut, nutzen Sie bitte dieses Symbol. Bei Klick wird eine Auswahl an möglichen Rollen zur Auswahl angeboten.
4.2.3. Gruppe erstellen

Wechseln Sie zum Erstellen einer Gruppe in den Menü-Punkt Manage groups. Hier finden Sie die Option Add group.

Erstellen von Gruppen in der APF Benutzer-Verwaltung

Füllen Sie anschließend das Feld Display name und wahlweise Description aus und bestätigen die Eingabe mit dem Add-Button. Anschließend wird die Liste der vorhandenen Gruppen angezeigt.

4.2.4. Gruppen-Details

Mit Hilfe des Lupen-Symbols können Sie die Details der Gruppe anzeigen:

Details einer Gruppe in der APF Benutzer-Verwaltung

Die Ansicht zeigt Benutzer und Rollen der Gruppe.

4.2.5. Gruppe bearbeiten

Mit Hilfe des Schraubenschlüssel-Symbols können Sie die Daten der Gruppe bearbeiten, die bei der Erstellung eingegeben wurden.

Gruppe bearbeiten in der APF Benutzer-Verwaltung

Bitte beachten Sie, dass der Anzeigename (display name) der Gruppe auch als Abfragekriterium in ihrer Applikation verwendet werden kann. Die Änderung eines Namens kann damit zu einer Fehlfunktion führen.

Ein Beispiel ist die Registrierung der APF Benutzer-Verwaltung. Dort dient der Name der Gruppe als Referenz für die automatische Zuweisung von initialen Gruppen.

4.2.6. Gruppe löschen

Soll eine Gruppe nicht mehr verwendet werden, so stehen Ihnen zwei Arten zur Auswahl: alle Beziehungen auflösen oder die Gruppe löschen.

Entfernen Sie die Zuordnung aller Benutzer, Rollen und - optional - Sichtbarkeitsberechtigungen so hat die Gruppe innerhalb Ihrer Anwendung keine effektive Bedeutung mehr. Sie kann damit weiterhin bestehen ohne in die Anwendung einzugreifen um evtl. später wieder verwendet zu werden.

Das Löschen der Gruppe gestaltet sich deutlich einfacher, da alle Zuordnungen zu allen Benutzer, Rollen und Sichtbarkeitsberechtigungen automatisch bereinigt werden. Klicken Sie zum Löschen einer Gruppe bitte auf das Papierkorb-Symbol und bestätigen den anschließend angezeigten Dialog mit Ja.

Gruppe löschen in der APF Benutzer-Verwaltung

Anschließend wird Übersichtsseite der Gruppen angezeigt.

Bitte beachten Sie, dass das Löschen einer Gruppe nicht wieder rückgängig gemacht werden kann.

4.2.7. Benutzer zu einer Gruppe hinzufügen

Im Kapitel Benutzer zu einer Gruppe hinzufügen wurde die Zuordnung eines Benutzers zu einer oder mehreren Gruppe(n) beschrieben. Über das entsprechende Symbol im Bereich der Gruppen-Verwaltung ist es möglich, einen oder mehrere Benutzer zu einer Gruppe hinzuzufügen.

Benutzer zu einer Gruppe hinzufügen in der APF Benutzer-Verwaltung

Wählen Sie hierzu eine oder mehrere Gruppen im Auswahlfeld aus und bestätigen die Aktion mit dem Add-Button. Anschließend wird die Benutzer-Liste angezeigt.

Bitte beachten Sie, dass das Auswahlfeld nur diejenigen Benutzer beinhaltet, die der Gruppe noch nicht zugeordnet sind.
4.2.8. Benutzer aus einer Gruppe entfernen

Soll(en) ein oder mehrere Benutzer aus einer Gruppe entfernt werden, klicken Sie bitte in der Gruppen-Liste auf das "Benutzer entfernen"-Symbol und markieren denjenigen/diejenigen Benutzer, der/die aus der Gruppe entfernt werden soll(en).

Benutzer aus einer Gruppe entfernen in der APF Benutzer-Verwaltung

Bestätigen Sie anschließend die Auswahl mit dem Remove-Button. Anschließend wird die Gruppen-Liste angezeigt.

Bitte beachten Sie, dass das Auswahlfeld nur diejenigen Benutzer beinhaltet, die der Gruppe aktuell zugeordnet sind.
4.2.9. Gruppe zu einer Rolle zuweisen

Zur Zuordnung einer oder mehrere Rollen zu einer Gruppe nutzen Sie bitte das "Rolle(n) zuweisen"-Symbol in der Gruppen-Liste.

Gruppe einer Rolle zuweisen in der APF Benutzer-Verwaltung

Wählen Sie nun die gewünschte(n) Rolle(n) aus uns bestätigen die Aktion mit dem Assign-Button. Anschließend wird die Gruppen-Liste angezeigt.

Bitte beachten Sie, dass das Auswahlfeld nur diejenigen Rollen beinhaltet, die der Gruppe noch nicht zugeordnet sind.
4.2.10. Gruppe eine Rolle entziehen

Soll eine Gruppe eine Rolle innerhalb der Applikation nicht mehr ausüben dürfen, können Sie eine Zuweistung mit Hilfe des "Rolle(n) entziehen"-Symbols in der Gruppen-Liste aufheben.

Gruppe eine Rolle entziehen in der APF Benutzer-Verwaltung

Wählen Sie nun die gewünschte(n) Rolle(n) aus uns bestätigen die Aktion mit dem Remove-Button. Anschließend wird die Gruppen-Liste angezeigt.

Bitte beachten Sie, dass das Auswahlfeld nur diejenigen Rollen beinhaltet, die der Gruppe aktuell zugeordnet sind.

4.3. Verwaltung von Rollen

Rollen drücken die Verantwortung eines Benutzers innerhalb einer Applikation oder auf einer Webseite aus. Dies kann sich beispielsweise in der Berechtigung Inhalte verändern oder nicht verändern zu dürfen ausdrücken oder dem Benutzer die Möglichkeit zu geben, Funktionen innerhalb von abgeschlossenen Prozessen ausführen oder nicht.

Rollen verwalten in der APF Benutzer-Verwaltung

Die folgenden Kapitel beschreiben die Funktionen der Rollen-Ansicht im Detail.

4.3.1. Angezeigte Spalten

Die folgende Tabelle beschreibt die angezeigten Spalten:

Name Beschreibung
1. Spalte Die erste Spalte zeigt das Symbol, das einem entsprechenden Datentyp zugewiesen ist. Es wird jeweils in den Aktions-Symbolen verwendet und ermöglicht so eine Wiedererkennung.
Display name Anzeige-Name der Rolle.
Permission(s) Diese Spalte beinhaltet die der Rolle zugeordneten Berechtigungen.
User(s) Diese Spalte beinhaltet jene Benutzer-Namen, die der Rolle zugeordnet sind.
Groups(s) Zeigt diejenigen Gruppen an, die der Rolle zugeordnet wurden.
Action(s) Hier finden Sie die Symbole zu den Aktionen, die auf eine Gruppe angewendet werden können. Details können Sie dem Kapitel Angezeigte Symbole entnehmen.
4.3.2. Angezeigte Symbole

Die folgende Tabelle beschreibt die angezeigten Symbole und die dahinterliegende Funktion:

Symbol Beschreibung
Das Manager-Symbol bezeichnet eine Rolle. Die Grafik dient in abgewandelter Form als Grundlage für Rollen-bezogene Aktionen.
Die Lupe symbolisiert die Details einer Gruppe. Bei Klick auf das Symbol wird die Detail-Ansicht angezeigt.
Schraubenschlüssel und Schraubendreher führen zur Bearbeitungsmaske einer Rolle.
Mit Hilfe des Mülleimers lässt sich eine Rolle löschen. Bitte beachten Sie, dass diese Funktion nicht umkehrbar ist.
Soll einer Rolle eine weitere Berechtigung zugeordnet sein, können Sie diese mit dem links angezeigten Symbol erledigen. Bei Klick wird eine Auswahl an vorhandenen Berechtigungen angeboten.
Soll eine Rolle eine bestimmt Funktion nicht mehr ausüben, können Sie diese mit Hilfe des aktuellen Symbols entfernen. Bei Klick wird eine Auswahl an vorhandenen Berechtigungen angeboten.
Möchten Sie einem Benutzer die vorliegende Rolle zuweisen, nutzen Sie bitte dieses Symbol. Bei Klick wird eine Auswahl an möglichen Benutzern angeboten.
Soll ein Benutzer die vorliegende Rolle nicht mehr ausüben, nutzen Sie bitte dieses Symbol. Bei Klick wird eine Auswahl an möglichen Benutzern angeboten.
Möchten Sie einer Gruppe die vorliegende Rolle übertragen, nutzen Sie bitte dieses Symbol. Bei Klick wird eine Auswahl an möglichen Gruppen zur Auswahl angeboten.
Soll eine Gruppe eine Rolle nicht mehr ausüben, nutzen Sie bitte dieses Symbol. Bei Klick wird eine Auswahl an möglichen Gruppen zur Auswahl angeboten.
4.3.3. Rolle erstellen

Um eine Rolle zu erstellen, wechseln Sie bitte in den Bereich Manage roles und wählen den Punkt Add role.

Rolle erstellen in der APF Benutzer-Verwaltung

Füllen Sie anschließend das Feld Display name, wählen mindestens eine Permission aus und beschreiben wahlweise im Feld Description die Rolle in Textform. Bestätigen sie nun die Eingabe mit dem Add-Button. Anschließend wird die Liste der vorhandenen Rollen angezeigt.

4.3.4. Rollen-Details

Mit Hilfe des Lupen-Symbols können Sie die Details der Rolle anzeigen:

Rollen-Details in der APF Benutzer-Verwaltung

Die Ansicht zeigt Berechtigungen, Benutzer und Gruppen der Rolle.

4.3.5. Rolle bearbeiten

Mit Hilfe des Schraubenschlüssel-Symbols können Sie Name und Beschreibung der Rolle bearbeiten.

Rollen bearbeiten in der APF Benutzer-Verwaltung

Bitte beachten Sie, dass der Anzeigename (display name) der Gruppe auch als Abfragekriterium in ihrer Applikation verwendet werden kann. Die Änderung eines Namens kann damit zu einer Fehlfunktion führen.

Ein Beispiel ist die Registrierung der APF Benutzer-Verwaltung. Dort dient der Name der Gruppe als Referenz für die automatische Zuweisung von initialen Rollen.

4.3.6. Rolle löschen

Soll eine Rolle nicht mehr verwendet werden, so stehen Ihnen wie bei den Gruppen zwei Arten zur Auswahl: alle Beziehungen auflösen oder die Rolle löschen.

Entfernen Sie die Zuordnung aller Benutzer und Gruppen so hat die Rolle innerhalb Ihrer Anwendung keine effektive Bedeutung mehr. Sie kann damit weiterhin bestehen ohne in die Anwendung einzugreifen um evtl. später wieder verwendet zu werden.

Das Löschen der Rolle gestaltet sich etwas einfacher, da alle Zuordnungen zu allen Benutzern und Gruppen automatisch bereinigt werden. Klicken Sie zum Löschen einer Rolle bitte auf das Papierkorb-Symbol und bestätigen den anschließend angezeigten Dialog mit Ja.

Rolle löschen in der APF Benutzer-Verwaltung

Anschließend wird die Übersichtsseite der Rollen angezeigt.

Bitte beachten Sie, dass das Löschen einer Rolle nicht wieder rückgängig gemacht werden kann.

4.3.7. Berechtigung zu einer Rolle hinzufügen

Bei der Erstellung einer Rolle haben Sie bereits die Möglichkeit Berechtigungen zuzuweisen. Soll eine Rolle mit weiteren Rechten ausgestattet werden, so können Sie dies mit Hilfe des Token-Symbols vornehmen.

Wählen Sie anschließend eine oder mehrere Berechigung(en) aus der Liste aus und bestätigen die Auswahl mit dem Assign-Button.

Berechtigung einer Rolle zuweisen in der APF Benutzer-Verwaltung
Bitte beachten Sie, dass das Auswahlfeld nur diejenigen Berechtigungen beinhaltet, die der Rolle noch nicht zugeordnet sind.
4.3.8. Berechtigung von einer Rolle entfernen

Soll eine Berechtigung eine Funktion innerhalb der Applikation nicht mehr zulassen, können Sie diese mit Hilfe des Token-Symbols von der gewünschten Rolle entfernen.

Wählen Sie nun diejenige Berechtigung(en) aus der Liste aus, die sie entfernen wollen und bestätigen Ihre Auswahl mit dem Remove-Button.

Berechtigung von einer Rolle entfernen in der APF Benutzer-Verwaltung

Anschließend wird die Übersicht der Rollen angezeigt.

4.3.9. Rolle einem Benutzer zuweisen

Beabsichtigen Sie einem Benutzer eine Rolle innerhalb der Applikation zuzuweisen, so können Sie dies mit Hilfe des Benutzer-Symbols vornehmen.

Wählen Sie im folgenden Dialog nun die gewünschten Benutzer aus und bestätigen die Auswahl mit dem Zuweisen-Button.

Benutzer einer Rolle zuweisen in der APF Benutzer-Verwaltung

Anschließend wird die Übersicht der Rolle angezeigt.

4.3.10. Rolle einem Benutzer entziehen

Soll ein Benutzer eine im System angelegte Rolle nicht mehr ausüben können oder dürfen, so können Sie diese einem Benutzer über das Benutzer-Symbol entziehen.

Wählen Sie nun diejenigen Benutzer aus der Liste aus, die nicht mehr mit der ausgewählten Rolle betraut sein sollen und bestätigen die Auswahl mit dem Entziehen-Button.

Benutzer(n) eine Rolle entziehen in der APF Benutzer-Verwaltung

Anschließend wird die Übersicht der Rolle angezeigt.

4.3.11. Rolle einer Gruppe zuweisen

Zur einfacheren Zuweisung von Rollen an mehrere Benutzer können Sie diese zu einer Gruppe zusammenfassen und dann über die Gruppe eine entsprechende Rolle zuweisen. Dies erleichtert in der Regel das Hinzufügen von neuen Benutzern und stellt sicher, dass Benutzer mit identischen Rollen - und damit Berechtigungen - ausgestattet sind.

Soll eine Rolle einer oder mehreren Rolle(n) zugewiesen werden, nutzen Sie bitte das Gruppen Symbol für die entsprechende Rolle. Wählen Sie nun die gewünschten Benutzer aus der Liste aus und bestätigen die Auswahl mit dem Zuweisen-Button.

Gruppe(n) eine Rolle zuweisen in der APF Benutzer-Verwaltung

Anschließend wird die Übersicht der Rolle angezeigt.

4.3.12. Rolle einer Gruppe entziehen

Soll eine Gruppe innerhalb einer Applikation eine Rolle nicht mehr ausüben können oder dürfen, nutzen Sie bitte das Gruppen-Symbol.

Wählen Sie im anschließend angezeigten Dialog diejenigen Gruppen aus, die nicht mehr mit der betreffenen Rolle ausgestattet sein sollen und bestätigen die Auswahl mit dem Entziehen-Button.

Gruppe(n) eine Rolle entziehen in der APF Benutzer-Verwaltung

Anschließend wird die Übersicht der Rolle angezeigt.

4.4. Verwaltung von Funktionsberechtigungen

Funktionsberechtigungen definieren den Zugriff eines Benutzers - entweder direkt über seine Rolle oder die Rolle einer zugehörigen Gruppe - auf Funktionen. Zu diesen zählen beispielsweise das Anlegen oder Editieren von Objekten oder das Ausführen von bestimmten Workflows innerhalb einer Applikation.

In kleineren Anwendungen werden oft Gruppen als Ersatz für Berechtigungen genutzt, ist jedoch eine Unterscheidung von Funktions- und Sichtbarkeits-Berechtigungen notwendig (siehe Kapitel Verwaltung von Sichtbarkeitsberechtigungen), dann halten Sie mit den Permissions ein sehr mächtiges Mittel in Händen um den Zugriff auf die Funktonalität Ihrer Anwendung zu reglementieren.

Die folgenden Kapitel beschreiben die Funktionen der Berechtigungs-Ansicht im Detail.

4.4.1. Angezeigte Spalten

Die folgende Tabelle beschreibt die angezeigten Spalten:

Name Beschreibung
1. Spalte Die erste Spalte zeigt das Symbol, das einem entsprechenden Datentyp zugewiesen ist. Es wird jeweils in den Aktions-Symbolen verwendet und ermöglicht so eine Wiedererkennung.
Anzeige-Name Anzeige-Name der Funktionsberechtigung.
Name Diese Spalte beinhaltet den Schlüssel der Funktionsberechtigung.
Wert Diese Spalte beinhaltet den Wert der Funktionsberechtigung.
Aktion(en) Hier finden Sie die Symbole zu den Aktionen, die auf eine Funktionsberechtigung angewendet werden können. Details können Sie dem Kapitel Angezeigte Symbole entnehmen.
4.4.2. Angezeigte Symbole

Die folgende Tabelle beschreibt die angezeigten Symbole und die dahinterliegende Funktion:

Symbol Beschreibung
Das Token-Symbol beschreibt eine Berechtigung. Die Grafik diente bereits in den vorangegangenen Kapiteln in abgewandelter Form als Grundlage für Berechtigungs-bezogene Aktionen.
Schraubenschlüssel und Schraubendreher führen zur Bearbeitungsmaske einer Funktionsberechtigung.
Mit Hilfe des Mülleimers lässt sich eine Funktionsberechtigung löschen. Bitte beachten Sie, dass diese Funktion nicht umkehrbar ist.
4.4.3. Funktionsberechtigungen erstellen

Zur Erstellung einer Funktionsberechtigung wechseln Sie zunächst in den Bereich Berechtigungen verwalten und wählen den Punkt Berechtigung hinzufügen.

Funktionsberechtigung erstellen in der APF Benutzer-Verwaltung

Füllen Sie anschließend die Felder Anzeige-Name, Name und Wert aus und bestätigen die Eingabe mit dem Hinzufügen-Button. Anschließend wird die Liste der vorhandenen Funktionsberechtigungen angezeigt.

4.4.4. Funktionsberechtigungen bearbeiten

Um eine Funktionsberechtigung zu bearbeiten, nutzen Sie bitte das Schraubenschlüssel-Symbol.

Funktionsberechtigung bearbeiten in der APF Benutzer-Verwaltung

Im angezeigten Dialog können Sie nun die Werte bearbeiten. Bestäigen Sie Ihre Änderungen anschließend mit dem Bearbeiten-Button.

Bitte beachten Sie, dass die Änderung des Schlüssels der Funktionsberechtigung zu Einschränkungen und/oder Fehlfunktion in Ihrer Applikation kommen kann. Beachten Sie daher die Abhängigkeiten zum Quellcode Ihrer Anwendung!
4.4.5. Funktionsberechtigungen löschen

Soll eine Funktionsberechtigung nicht mehr verwendet werden, so stehen Ihnen zwei Arten zur Auswahl: alle Beziehungen auflösen oder die Funktionsberechtigung löschen.

Entfernen Sie die Zuordnung zu allen Rollen so hat die Funktionsberechtigung innerhalb Ihrer Anwendung keine effektive Bedeutung mehr. Sie kann damit weiterhin bestehen ohne in die Anwendung einzugreifen um evtl. später wieder verwendet zu werden.

Das Löschen der Funktionsberechtigung gestaltet sich etwas einfacher, da alle Zuordnungen zu allen Rollen automatisch bereinigt werden. Klicken Sie zum Löschen bitte auf das Papierkorb-Symbol und bestätigen den anschließend angezeigten Dialog mit Ja.

Funktionsberechtigung löschen in der APF Benutzer-Verwaltung

Anschließend wird die Übersichtsseite der Funktionsberechtigungen angezeigt.

Bitte beachten Sie, dass das Löschen einer Funktionsberechtigung nicht wieder rückgängig gemacht werden kann.

4.5. Verwaltung von Sichtbarkeitsberechtigungen

Sichtbarkeitsberechtigungen definieren die Zugriffsberechtigung eines Benutzers oder einer Gruppe auf ein Objekt innerhalb einer Applikation. Dies umfasst den lesenden und schreibenen Zugriff. Im Gegensatz dazu definieren Funktionsberechtigungen den Zugriff auf Funktionen.

Der Bereich Sichtbarkeiten verwalten der Verwaltungsoberfläche umfasst zwei Bereiche: Verwaltung der Sichtbarkeitsberechtigungen und der Objekt-Typen. Die Berechtigungsdefinitionen selbst beschreiben ein Objekt der Anwendung inkl. der Berechtigungen für einen oder mehrere Benutzer bzw. eine Gruppe. Die Objekt-Typen repräsentieren die in Ihrer Anwendung vorhandenen Entitäten und sorgen für Typsicherheit bei der Erstellung und Zuordnung.

Die folgenden Kapitel beschreiben die Funktionen der Berechtigungs-Ansicht im Detail.

4.5.1. Angezeigte Spalten der Sichtbarkeitsberechtigungen

Die folgende Tabelle beschreibt die angezeigten Spalten in Liste der Sichtbarkeitsberechtigungen:

Name Beschreibung
1. Spalte Die erste Spalte zeigt das Symbol, das einem entsprechenden Datentyp zugewiesen ist. Es wird jeweils in den Aktions-Symbolen verwendet und ermöglicht so eine Wiedererkennung.
Sichtbarkeits-Berechtigung Die hier angezeigte Kurzbeschreibung zeigt den Typ und die Objekt-Referenz-Id der Applikation.
Benutzer Hier werden diejenigen Benutzer aufgeführt, die Zugriff auf das in der zweiten Spalte beschriebene Objekt besitzen.
Gruppe(n) Diese Spalte beinhaltet diejenigen Gruppen, die Zugriff auf das in der zweiten Spalte beschriebene Objekt besitzen.
Aktion(en) Hier finden Sie die Symbole zu den Aktionen, die auf eine Sichtbarkeitsberechtigung angewendet werden können. Details können Sie dem Kapitel Angezeigte Symbole der Sichtbarkeitsberechtigungen entnehmen.
4.5.2. Angezeigte Symbole der Sichtbarkeitsberechtigungen

Die folgende Tabelle beschreibt die angezeigten Symbole und die dahinterliegende Funktion in Liste der Sichtbarkeitsberechtigungen:

Symbol Beschreibung
Das Token-Symbol beschreibt eine Sichtbarkeitsdefinition.
Mit dem Lupen-Symbol lassen sich die Details der Sichtbarbeitsdefinition anzeigen. Diese beinhaltet neben den Benutzern und Gruppen auch die Definition der Zugriffsqualitäten (Lesen, Schreiben, Löschen, Verknüpfen).
Mit Hilfe des Mülleimers lässt sich eine Sichtbarbeitsdefinition löschen. Bitte beachten Sie, dass diese Funktion nicht umkehrbar ist.
Möchten Sie einen Benutzer zur vorliegenden Sichtbarbeitsdefinition hinzufügen, nutzen Sie bitte dieses Symbol. Bei Klick wird eine Auswahl an möglichen Benutzern angeboten.
Soll einem Benutzer der Zugriff zu einem Objekt entzogen werden, klicken Sie bitte auf dieses Symbol. Anschließend wird eine Auswahl an möglichen Benutzern angeboten.
Möchten Sie einer Gruppe Zugriffsrechte auf die angezeigte Sichtbarbeitsdefinition geben, nutzen Sie bitte dieses Symbol. Bei Klick wird eine Auswahl an möglichen Gruppen angeboten.
Soll einer Gruppe die Zugriffsrechte zu einem Objekt entzogen werden, klicken Sie bitte auf dieses Symbol. Anschließend wird eine Auswahl an möglichen Gruppen angeboten.
4.5.3. Sichtbarkeitsberechtigung hinzufügen

Der Zugriff auf ein Objekt einer beliebigen Anwendung wird durch den Objekt-Typ (z.B. Seite oder Medien-Datei), die externe Referenz-ID (oft der Primärschlüssel des Objekts in der Applikation) und die Zuordnung zu Benutzern und/oder Gruppen definiert. Des Weiteren schließt sie die Konfiguration der Qualität des Zugriffs ein. Hier stehen Lesen, Schreiben, Löschen und Verknüpfen zur Verfügung.

Über die Qualität der Zugriffsberechtigung lassen sich - vor allem in Verbindung mit den Funktionsberechtigungen - komplexe Szenarien umsetzen. Dies betrifft insbesondere Anwendungsfälle, in denen bestimmte Benutzer oder Gruppen nur rein lesenden Zugriff erhalten sollen (definiert über Sichtbarkeitsberechtigungen), andere jedoch definierte Operationen ausführen dürfen (definiert über Funktionsberechtigungen).

Zur Erstellung einer Sichtbarkeitsberechtigung nutzen Sie bitte den Navigationspunkt Sichtbarkeit hinzufügen.

Sichtbarkeitsberechtigung erstellen in der APF Benutzer-Verwaltung

Wählen Sie zunächst den gewünschten Objekt-Typ und tragen die Referenz-ID des Objektes ein. Mit den Feldern Benutzer und Gruppen legen Sie die Zugriffsrechte fest. Zur einfacheren Konfiguration wird empfohlen, Gruppen Benutzern vorzuziehen.

Mit den nachfolgend dargestellten Optionen legen Sie die Qualität des Zugriffs fest. Die APF Benutzerverwaltung kennt vier Methoden, die beliebig kombiniert werden können:

  • Lese-Berechtigung: Mit dieser Option erhalten Benutzer und Gruppen lesenden Zugriff auf das Objekt.
  • Schreib-Berechtigung: Ist diese Option in der Sichtbarkeitsberechtigung aktiviert, erhalten Benutzer und Gruppen schreibenden Zugriff auf das Objekt.
  • Beziehungs-Berechtigung: Die Benutzerverwaltung des APF basiert auf dem Generischer O/R-Mapper, der die Möglichkeit bietet, Objekte und deren Beziehungen zu verwalten. Da die Verwaltung von Beziehungen eine eigene Operation ist, bietet das Modul an, dies separat von der Schreib-Berechtigung zu verwalten.
  • Lösch-Berechtigung: Sollen Benutzer und Gruppen ein Objekt löschen dürfen, kann diese Option genutzt werden.

Bitte beachten Sie, dass die Implementierung des Verhaltens in der Anwendung sichergestellt werden muss. Die APF Benutzerverwaltung stellt lediglich die Datenstruktur und die Verwaltung der Berechtigungen zur Verfügung.

Soll ein Objekt innerhalb einer Applikation auf Basis der Sichtbarkeitsdefinition bearbeitet werden können oder nicht, so muss der Applikationscode dafür sorgen, dass die definierten Optionen entsprechend beachtet werden.

4.5.4. Details einer Sichtbarkeitsberechtigung anzeigen

Mit dem Lupen-Symbol können Sie die Details einer Sichtbarkeitsberechtigung anzeigen. Diese beinhaltet die Zuordnung zu Benutzern und Gruppen sowie die Qualitäten der Berechtigung.

Sichtbarkeitsberechtigungs-Details in der APF Benutzer-Verwaltung

Zur Vereinfachung der Konfiguration wird in der Liste der zugeordneten Benutzer und Gruppen eine Möglichkeit zur Löschung des Zugriffs angeboten. Um einem Benutzer oder einer Gruppe die definierten Berechtigungen auf das aktuelle Objekt zu entziehen, klicken Sie bitte auf das Papierkorb-Symbol und bestätigen Sie anschließend die Sicherheitsabfrage mit Ja. Anschließend wird die Detail-Seite der Sichtbarkeitsberechtigung angezeigt.

Möchten Sie die komplete Definition löschen, nutzen Sie bitte die unter Sichtbarkeitsberechtigung löschen beschriebene Vorgehensweise.

4.5.5. Sichtbarkeitsberechtigung löschen

Im Gegensatz zu den übrigen Funktionen der Verwaltungsoberfläche können Sichtbarkeitsberechtigungen nicht editiert werden. Grund hierfür ist, dass diese zumeist automatisiert im Applikationscode angelegt werden und die Änderung der externen Referenz-ID eine so einschneidende Änderung darstellt, die ohnehin besser durch Löschung und gleichzeitiger Neuanlage erledigt werden sollte.

Um eine Sichtbarkeitsberechtigung zu löschen, nutzen Sie bitte das Papierkorb-Symbol und beantworten die anschließend angezeigte Sicherheitsabfrage mit Ja.

Sichtbarkeitsberechtigung löschen in der APF Benutzer-Verwaltung

Anschließend wird die Liste der Sichtbarkeitsberechtigungen angezeigt.

4.5.6. Benutzer einer Sichtbarkeitsberechtigung zuweisen

Sollen ein oder mehrere Benutzer Zugriff auf ein Objekt innerhalb der Applikation erhalten, nutzen Sie bitte das Benutzer-Symbol. Wählen Sie im folgenden Dialog nun die gewünschten Benutzer aus und bestätigen die Auswahl mit dem Zuweisen-Button.

Benutzer einer Sichtbarkeitsberechtigung zuweisen in der APF Benutzer-Verwaltung

Anschließend wird die Übersicht der Sichtbarkeitsberechtigung angezeigt.

4.5.7. Benutzer eine Sichtbarkeitsberechtigung entziehen

Sollen ein oder mehrere Benutzer keinen Zugriff auf ein Objekt besitzten, so nutzen Sie bitte das Benutzer-Symbol mit dem Stop-Schild. Wählen Sie im folgenden Dialog nun die gewünschten Benutzer aus und bestätigen die Auswahl mit dem Entfernen-Button.

Benutzer eine Sichtbarkeitsberechtigung entziehen in der APF Benutzer-Verwaltung

Anschließend wird die Übersicht der Sichtbarkeitsberechtigung angezeigt.

4.5.8. Gruppe einer Sichtbarkeitsberechtigung zuweisen

Nutzen Sie Gruppen um mehreren Benutzern Zugang zu Inhalten einer Anwendung zu geben. Möchten Sie einer Gruppe Zugriff auf ein Objekt geben, nutzen Sie bitte das Gruppen-Symbol mit dem Stern. Wählen Sie anschließend im angezeigten Dialog die gewünschte(n) Gruppe(n) aus und bestätigen die Auwahl mit dem Zuweisen-Button.

Gruppe eine Sichtbarkeitsberechtigung zuweisen in der APF Benutzer-Verwaltung

Anschließend wird die Übersicht der Sichtbarkeitsberechtigung angezeigt.

4.5.9. Gruppe eine Sichtbarkeitsberechtigung entziehen

Ist es einer Gruppe nicht mehr erlaubt auf das Objekt zuzugreifen, so können Sie diese mit Hilfe des zweiten Gruppen-Symbols aus der Definition entfernen. Wählen Sie anschließend im angezeigten Dialog die gewünschte(n) Gruppe(n) aus und bestätigen die Auwahl mit dem Entfernen-Button.

Gruppe eine Sichtbarkeitsberechtigung entziehen in der APF Benutzer-Verwaltung

Anschließend wird die Übersicht der Sichtbarkeitsberechtigung angezeigt.

4.5.10. Angezeigte Spalten der Sichtbarkeitstypen

Die folgende Tabelle beschreibt die angezeigten Spalten in Liste der Sichtbarkeitstypen:

Name Beschreibung
1. Spalte Die erste Spalte zeigt das Symbol, das einem entsprechenden Datentyp zugewiesen ist.
Sichtbarkeits-Berechtigungs-Typ Der hier angezeigte Name referenziert den Objekt-Typ der Applikation (z.B. Article).
Aktion(en) Hier finden Sie die Symbole zu den Aktionen, die auf einen Sichtbarkeitstypen angewendet werden können. Details können Sie dem Kapitel Angezeigte Symbole der Sichtbarkeitstypen entnehmen.
4.5.11. Angezeigte Symbole der Sichtbarkeitstypen

Die folgende Tabelle beschreibt die angezeigten Symbole und die dahinterliegende Funktion in Liste der Sichtbarkeitstypen:

Symbol Beschreibung
Das Token-Symbol beschreibt einen Sichtbarkeitstypen.
Schraubenschlüssel und Schraubendreher führen zur Bearbeitungsmaske eines Sichtbarkeitstypen.
Mit Hilfe des Mülleimers lässt sich Sichtbarkeitstypen löschen. Bitte beachten Sie, dass diese Funktion nicht umkehrbar ist.
4.5.12. Sichtbarkeitstypen hinzufügen

Sichtbarkeitstypen repräsentieren die Objekt-Typen Ihrer Anwendung und sorgen innerhalb der APF Benutzer-Verwaltung für Typensicherheit der angelegten Definitionen. Die Verknüpfung eines Objektes Ihrer Anwendung zur Benutzer-Verwaltung findet dabei über die externe Referenz-ID statt.

Um einen neuen Datentyp anzulegen, nutzen Sie bitte den Navigationspunkt Sichtbarkeits-Typ hinzufügen.

Sichtbarkeits-Typ hinzufügen in der APF Benutzer-Verwaltung

Füllen Sie nun den Namen des Typs gemäß dem Objekt-Typ ihrer Anwendung aus und speichern die Angaben mit dem Speichern-Button. Anschließend wird die Übersicht der Sichtbarkeits-Typen angezeigt.

Bitte beachten Sie, dass der Name des Sichtbarkeitstypen als Selektions- und Gruppierungsmerkmal sowie zur Anlage von Sichtbarkeitsberechtigungen genutzt wird.

Der Name selbst kann frei definiert sein, muss jedoch eindeutig und konsistent ein Applikationsobjekt referenzieren.

4.5.13. Sichtbarkeitstypen bearbeiten

Um einen Sichtbarkeitstypen zu bearbeiten, nutzen Sie bitte das Schraubenschlüssel-Symbol. Sie haben anschließend die Möglichkeit, den (Referenz-)Namen des Typs zu bearbeiten.

Sichtbarkeits-Typ bearbeiten in der APF Benutzer-Verwaltung

Bestätigen Sie die Änderung anschließend mit dem Speichern-Button. Anschließend wird die Übersicht der Sichtbarkeits-Typen angezeigt.

4.5.14. Sichtbarkeitstypen löschen

Soll ein bestimmter Objekt-Typ nicht mehr in der APF Benutzer-Verwaltung gepflegt werden, können Sie diesen über das Papierkorb-Symbol löschen.

Bitte beachten Sie, dass mit dem Löschen eines Typs alle Sichtbarkeitsberechtigungen dieses Typs ebenfalls entfernt werden. Dieser Vorgang kann nicht wieder rückgängig gemacht werden. Sollen lediglich bestimmte Berechtigungen entfernt werden, nutzen Sie bitte die im Kapitel Sichtbarkeitsberechtigung löschen beschriebenen Möglickeiten.

Sichtbarkeits-Typ löschen in der APF Benutzer-Verwaltung

Bestätigen Sie zur Löschung die Sicherheitsabfrage mit Ja. Anschließend wird die Übersicht der Sichtbarkeits-Typen angezeigt

5. Entwicklung

5.1. Einsatz von fertigen Komponenten

5.1.1. Login
5.1.2. Registrierung
5.1.3. Benutzer-spezifische Inhalte

5.2. Anwendung in eigenen Applikationen

5.2.1. Beziehen des UmgtManager
5.2.2. Login
5.2.3. Registrierung
5.2.4. Auslesen von Funktionsberechtigungen
5.2.5. Auslesen von Sichtbarkeitsberechtigungen
5.2.6. Anlegen von Benutzern
5.2.7. Anlegen von Gruppen

5. Datenmodell

Kommentare

Möchten Sie den Artikel eine Anmerkung hinzufügen, oder haben Sie ergänzende Hinweise? Dann können Sie diese hier einfügen. Die bereits verfassten Anmerkungen und Kommentare finden Sie in der untenstehenden Liste.
« 1   »
Einträge/Seite: | 5 | 10 | 15 | 20 |
1
Christian 25.11.2013, 20:50:25
Hallo Christian,

wie du festgestellt hast, ist die Dokumentation des Moduls aktuell leider unvollständig. Hierzu existiert bereits ein Eintrag im Issue-Tracker und wir arbeiten ständig an der Verbesserung der Dokumentation.

Leider kann ich dir nicht sagen, wer bis wann die Doku aktualisiert bzw. finalisiert. Ich darf dich jedoch trotzdem einladen Fragen im Forum (http://forum.adventure-php-framework.org) zu stellen bzw. Wünsche im Tracker (http://tracker.adventure-php-framework.org) zu posten.

Sofern du Interesse an der Mitarbeit am APF bzw. diesem Modul und an der Erweiterung der Doku hast, freuen wir uns über jede Form von Beitrag.

Viele Grüße,
Christian
2
Christian Merz 20.11.2013, 15:50:45
Wann wird dieses handbuch den mal vervolständigt?