User
Beschreibung
Funktionalität
Die Benutzerverwaltung stellt die Schnittstelle zu einem OIDC-fähigen Identity Provider (IdP) bereit.
Folgende Anwendungsfälle werden unterstützt:
- Authentifizierung und Autorisierung von Benutzern.
- Übersicht über die in der Anwendung verwendeten Benutzer im Raum User.
- Definition von Rollen inklusive der zugehörigen 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 selbst erfolgen.
Für die Auswahl von Benutzern stehen verschiedene Field-Templates bzw. Queries zur Verfügung.:
| 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 angezeigt 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 |
Kennzeichnet Rollen, deren Benutzer auswählbar sind 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 System. Sollte nur Admin-Rollen zugewiesen werden. |
SYS_Tools |
Gewährt Zugriff auf Raum Tools. |
SYS_UserMgmt |
Gewährt Zugriff auf Raum UserMgmt. |
Überwachung im Betrieb
im Raum Betrieb werden alle Benutzer angezeigt. Hier werden die nicht vom IDP gelieferten Benutzer-Eigenschaften gepflegt und den Benutzern Rollen, User-Gruppen und Tenant-Berechtiungen zugewiesen.
Bausteine
Entities
Activities
Queries
ValueLists
Expression Functions
Tabellen
Configs
| Parameter | Beschreibung | Beispiel |
|---|---|---|
User.RoleClaimName |
Name des Claims, der die berechtigten Rollen enthält. | elego.dev.sample.scope |
User.TenantClaimName |
Name des Claims, der die berechtigten Tenants enthält. | tenant |
User.UsergroupClaimName |
Name des Claims, der die berechtigten Usergroups enthält. | 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.
Die Zuweisung ist wie folgt: [User-Property]=[Claim oder Expression] (z.B. Phone=phone).
Mit dem Präfix # wird festgelegt, dass das Mapping nur bei der erstmaligen Erstellung eines Users (InitOnly) angewendet wird (z.B. #Phone=phone).
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. Soll ein Default-Mapping überschrieben werden, wird eine Mapping ohne Zuweisung erstellt (z.B. Phone= ). Standardmässig 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 Mappings, die in der Config hinterlegt sind. Diese werden einzeln berücksichtigt. So können auch einzelne Mappings übersteuert werden.