Skip to content

User

Beschreibung

Benutzerverwaltung mit Schnittstelle zu einem OIDC-fähigen Identity Provider.

Folgende Anwendungsfälle werden unterstützt:

  • Authentifizierung und Autorisierung von Benutzern.
  • Übersicht über in der Anwendung verwendete Benutzer im Raum User.
  • Definition von Rollen inklusive zugehöriger Rechte, Benutzergruppen und Tenants.
  • Zuweisung von Rollen, Benutzergruppen und Tenants zu Benutzern im Betrieb.

Rollen, Rechte, Benutzergruppen und Tenants werden im Raum System unter Rollen verwaltet. Die Zuweisung zu einem Benutzer kann entweder aus der jeweiligen Parametrierung oder direkt beim Benutzer erfolgen.

Für die Auswahl eines Users existieren verschiedene Field-Templates resp. Queries:

Field-Template Query Verwendung Beschreibung
SYS_FT_BusinessUser QueryActiveBusinessUsers Raum MyWork (Todo, Mailbox) Zeigt aktive (IsActive = true) Business-User (IsSystemUser = false) an. Mit Parameter OnlyAssignable = true kann definiert werden, dass nur User mit einer zugewiesenen Rolle mit Berechtigung SYS_Assignable angezgeigt werden.
SYS_FT_User QueryActiveUsers Raum Operation (Todo, Process) Zeigt aktive (IsActive = true) User an.
SYS_FT_UserWithSystemUser QueryUsersWithSystemUser Raum Operation (Audit, User) Zeigt alle vorhandenen User an.

Folgende System-Berechtigungen sind definiert:

Berechtigung Verwendung
SYS_Assignable Markiert Rollen mit auswählbaren Benutzern für Todos, etc.
SYS_Components Gewährt Zugriff auf Raum Components. Sollte nur Admin-Rollen zugewiesen werden.
SYS_Dashboard Gewährt Zugriff auf Raum Dashboard.
SYS_MyWork Gewährt Zugriff auf Raum MyWork.
SYS_Operations Gewährt Zugriff auf Raum Operations.
SYS_Queries Gewährt Zugriff auf Raum Queries.
SYS_ShowGuiInfo Zeigt Gui-Info an. Empfohlen Für Admin- und Support-Rollen
SYS_System Gewährt Zugriff auf Raum Components. Sollte nur Admin-Rollen zugewiesen werden.
SYS_Tools Gewährt Zugriff auf Raum Tools.
SYS_UserMgmt Gewährt Zugriff auf Raum UserMgmt.

Bausteine

Entities

Activities

Queries

ValueLists

Expression Functions

Tabellen

Configs

Parameter Beschreibung Beispiel
User.RoleClaimName Name des Claims, in dem die berechtigten Rollen geliefert werden. elego.dev.sample.scope
User.TenantClaimName Name des Claims, in dem die berechtigten Tenants geliefert werden. tenant
User.UsergroupClaimName Name des Claims, in dem die berechtigten Usergroups geliefert werden. usergroup
User.PropertyClaimMappings Durch Zeilenumbruch getrennte Mappings für Userclaims. Format: [User-Property]=[Mapping-Expression] Siehe PropertyClaimMappings

PropertyClaimMappings

In den Mapping-Expressions können die vom IDP gelieferten Claims als Variablen verwendet werden. Mit dem Präfix # wird festgelegt, dass das Mapping nur bei der erstmaligen Erstellung eines Users (InitOnly) angewendet wird.

Ist eine Expression fehlerhaft, wird für das betroffene Mapping der Default-Wert verwendet und zusätzlich eine Exception im Logfile protokolliert.

Werden keine Claims-Mappings definiert, verhält sich das System wie bisher. Standardmäßig sind folgende Mappings hinterlegt:

#SubjectId=sub
#CultureString=GetFirstNonEmptyValueOrEmpty(locale;GetCurrentCulture())
#PublicId=if(Len(GetFirstNonEmptyValueOrEmpty(preferred_username;email;appid;azp))>32;'';GetFirstNonEmptyValueOrEmpty(preferred_username;email;appid;azp))
#Function=function
#Department=department
LoginName=if(Len(GetFirstNonEmptyValueOrEmpty(preferred_username;email;appid;azp))>32;GetFirstNonEmptyValueOrEmpty(preferred_username;email;appid;azp);GetFirstNonEmptyValueOrEmpty(preferred_username;nickname;email;appid;azp))
Name=GetFirstNonEmptyValueOrEmpty(family_name;name)
FirstName=given_name
Phone=phone
Email=email

Info

Vorrgang haben immer die Mapping, die in der Config hinterlegt sind. Diese werden einzeln berücksichtigt. So können auch einzelne Mappings übersteuert werden.