Benutzer – Systembeschreibung
Die Systemansicht der Basisbenutzer: Endpunkte, Kontingent- und Mandantenbindung beim Anlegen, Einladung und Passwort-Zurücksetzen, Löschschutz und Berechtigungen.
Überblick
Ansicht der Basisbenutzer: Liste, Formular, Status, API-Schlüssel, Portal-Link, Einladung und Passwort-Zurücksetzen. Die Tabellennamen tragen in der Datenbank das eigene Präfix der Installation. Beteiligt: Basis-Benutzer- und Gruppentabelle, user_api_key, Portalspeicher, person (Verknüpfung), user_feature, subscription_account, usage.
Endpunkte nur für Super-Admins
user.list, user.form, user.status, user.token und user.tokendelete (API-Schlüssel in user_api_key), user.portalinfo, user.portaldomain, user.portalsend (Portal-Link, Shopwahl, Versand über Dlbtmail::dispatch), user.delete. Alle verlangen isSuper(). Das Löschen löscht nicht sich selbst; bei Verweisen (getUserLinks) listet es sie auf und verweigert; sonst deleteUser.
Anlegen (add, SUBSCRIPTION)
- Berechtigung:
canSave($route, 0)→canAction(add). - Validierung: Benutzername mindestens 3, E-Mail, Passwort mindestens 4 Zeichen.
- Kontingent:
Dlbtquota::checkAction(creator, 'user/user', 'add', 1)– beineed_creditoderneed_planFehler und Angebotsdaten für das Modal. addUser()mit der übermittelten Gruppe,fillUserRoleFromGroup().- Hat der Anlegende einen Heimatmandanten:
attachUserToClient()undsyncClientPlan(client, creator, new_user). consumeAction(); optionale Personenverknüpfung (person_id);json.redirectzum Formular.
Ändern und Einladung
edit:canSave($route, id)→canAction(edit);editUser(), bei GruppenwechselfillUserRoleFromGroup().invite(user.invite,user.passwordreset,user.inviterevoke): Einladungs- oder Zurücksetzungslink per E-Mail (Dlbtmail::dispatch), mit Protokoll (dlbtlog); der Widerruf entwertet die offenen Einladungstoken des Benutzers. Berechtigung:canAction(invite); E-Mail und Konto müssen existieren.
Berechtigungen und Einschränkungen
- Im Seed ist
listUNMAPPEDundstatusdeleteBASE– der Controller prüft keines davon.edit,invite,debugsind nicht eingestuft. - Das Anlegen schränkt die wählbare Benutzergruppe nicht ein.
- Das Ändern prüft den Inhaltsbereich des Zielbenutzers nicht.