Benutzerverwaltung

Das ECUI setzt für die User-Verwaltung eine standardisierte Lösung ein welche auf dem von Microsoft entwickelten Identity-Model basiert.

Menüstruktur der Benutzerverwaltung

Benutzer

Ein Benutzer beinhaltet folgende Eigenschaften:

Eigenschaft

Funktion

Eigenschaft

Funktion

EMail-Bestätigt

Ob die Mail-Adresse eines Benutzer bestätigt ist. Ohne diese Bestätigung kann der Benutzer sich nicht einloggen.

Username und EMail

Der Username und das E-Mail sind grundsätzlich unabhängig. Für eine einfachere Verwaltung wird empfohlen diese Werte gleich zu halten.

Lockout

Der Lockout kann aktiviert oder deaktiviert werden. Ist das Feature aktiviert so wird der Benutzer nach mehreren ungültigen Login-Versuchen gesperrt. Nach einer festgelegten Zeitspanne wird der Benutzer wieder aktiviert.

Passwort

Ein Benutzer kann aber muss kein Passwort haben. Benutzer ohne Passwort können beispielsweise sinnvoll sein wenn eine externe Authentifizierung bevorzugt wird. z.B. über MS-Azure AD.

Das Passwort muss verschiedene Anforderungen erfüllen damit es gültig ist.

Detailansicht eines Benutzer

Rollen

Jeder Benutzer kann verschiedene Rollen zugewiesen haben. Diese Rollen bestehen standardmässig aus einem Namen, Bezeichnung und Wert. Der Name und Wert wird intern verwendet für die Zuweisung und sollte prägnant und aus einem Wort bestehen. Die Bezeichnung kann beliebig gewählt werden.

Die Bezeichnungen sind übersetzbar mit dem folgenden Schlüssel:

Role.{Name der Rolle}

Für eine Rolle mit dem Namen Administrator würde der Schlüssel wie folgt aussehen:

Role.Administrator

Eine Rolle kann in mehreren Zuweisungen vorkommen. Dabei wird die Rolle mit einem Benutzer verknüpft.

Eine Rolle hat zusätzliche eine Liste von Berechtigungen:

Eigenschaft

Beschreibung

Beispiel

Eigenschaft

Beschreibung

Beispiel

Entität/Klasse

Eine Referenz auf eine vorhandene Entität im Model. Die Berechtigungen respektive Einschränkungen werden für diese Entität angewendet.

Person

Rolle

Die Rolle zu welcher die Einschränkung gehört.

Mitarbeiter

Darf-Lesen

Gewährt lesenden Zugriff auf die Entität.

true/false

Darf-Schreiben

Gewährt schreibenden Zugriff auf existierende Entitäten.

true/false

Darf-Erstellen

Gewährt das Recht neue Entitäten zu erfassen.

true/false

Darf-Löschen

Gewährt das Recht Entitäten zu löschen.

true/false

Lese-Einschränkung

Eine Expression welche den Lesen-Zugriff generell einschränkt. Siehe Expression für Beispiele und weitere Instruktionen.

Aktiv == true

Schreib-Einschränkung

Eine Expression welche den Schreib-Zugriff generell einschränkt. Siehe Expression für Beispiele und weitere Instruktionen.

Aktiv == true

Lösch-Einschränkung

Eine Expression welche den Löschen-Zugriff generell einschränkt. Siehe Expression für Beispiele und weitere Instruktionen.

Aktiv == true

Ausgeschlossene Felder

Komma-separierte Liste von Feldern die unter der aktuellen Berechtigung nicht zurückgegeben werden. Die Werte werden beim speichern verworfen und beim lesen durch Default-Werte ersetzt.

Salary,Active

Rollenzuweisung

Die Verknüpfung einer Rolle mit einem Benutzer erfolgt über die Rollenzuweisung.

Dabei kann zusätzlich ein Kontext definiert werden welcher danach in den Expressions verwendet werden kann. So kann ein Benutzer beispielsweise mit einer Person verknüpft werden und die Einschränkung danach dynamisch auf diese gesetzt werden.

z.B. Context == ID

Eine Zuweisung kann auf ein beliebiges Objekt erfolgen.

Empfehlungen

  • Jeder Benutzer sollte nur die Berechtigungen haben die er explizit benötigt. Berechtigungen auf Vorrat sind nicht empfohlen.

  • Wo möglich sollten die Berechtigungen weiter eingeschränkt werden damit nur die Daten sichtbar sind welcher der Benutzer auch benötigt.

  • Die Einschränkung über ein Layout ist keine Alternative zu Einschränkungen über die Berechtigungen. Die Layout-Filter sind nur eine visuelle Einschränkung und können umgangen werden.