Funktionsprinzip
Das Berechtigungssystem von tikento basiert auf einem additiven Modell: Die resultierenden Rechte eines Benutzers sind die Vereinigung (Union) der Berechtigungen aller ihm zugewiesenen Rollen. Berechtigungen werden nur hinzugefügt und niemals entzogen.
Beispiel: Wenn einem Benutzer die Rollen Manager und Finance zugewiesen sind, erhält er alle Berechtigungen von Manager (Veranstaltungen, Registrierungen, Check-in) plus alle Berechtigungen von Finance (Zahlungen, Berichte, Rückerstattungen).
Drei Rollenkontexte
Jede Rolle in tikento gilt in einem von drei Kontexten, die den Sichtbarkeitsbereich der Berechtigungen bestimmen:
Globaler Kontext
Rollen auf Plattformebene. Werden zur Administration der tikento-Plattform selbst verwendet. Nicht für reguläre Veranstalter verfügbar.
Mandantenkontext (Organisation)
Der Hauptkontext für die Teamarbeit. Die Rolle gilt auf Organisationsebene und erstreckt sich auf alle ihre Veranstaltungen.
Beispiele:
- Admin auf Organisationsebene -- Zugriff auf alle Veranstaltungen und Einstellungen
- Finance auf Organisationsebene -- Einsicht in die Finanzen aller Veranstaltungen
Veranstaltungskontext
Die Rolle ist auf eine bestimmte Veranstaltung beschränkt. Der Benutzer sieht nur die Veranstaltung, der seine Rolle zugeordnet ist.
Beispiele:
- Manager auf Veranstaltungsebene -- Verwaltung nur einer Veranstaltung
- Support auf Veranstaltungsebene -- Check-in nur bei einer bestimmten Veranstaltung
Atomare Berechtigungen
Das System enthält 57 atomare Berechtigungen, gruppiert nach Bereichen:
Veranstaltungen
| Berechtigung | Beschreibung |
|---|---|
EVENT_CREATE | Neue Veranstaltung erstellen |
EVENT_UPDATE | Veranstaltung bearbeiten |
EVENT_DELETE | Veranstaltung löschen |
EVENT_PUBLISH | Veranstaltung veröffentlichen |
EVENT_VIEW | Veranstaltung ansehen |
Registrierungen
| Berechtigung | Beschreibung |
|---|---|
REGISTRATION_VIEW | Teilnehmerliste ansehen |
REGISTRATION_MANAGE | Registrierungen bestätigen, stornieren |
REGISTRATION_EXPORT | Teilnehmerliste exportieren |
CHECKIN_MANAGE | Teilnehmer einchecken |
Zahlungen
| Berechtigung | Beschreibung |
|---|---|
PAYMENT_VIEW | Zahlungen ansehen |
PAYMENT_REFUND | Rückerstattungen einleiten |
PAYMENT_GATEWAY_MANAGE | Zahlungs-Gateways konfigurieren |
Formulare
| Berechtigung | Beschreibung |
|---|---|
FORM_CREATE | Registrierungsformular erstellen |
FORM_UPDATE | Formular bearbeiten |
FORM_DELETE | Formular löschen |
Team
| Berechtigung | Beschreibung |
|---|---|
TEAM_INVITE | Ins Team einladen |
TEAM_REMOVE | Aus dem Team entfernen |
ROLE_ASSIGN | Rollen zuweisen |
Benachrichtigungen
| Berechtigung | Beschreibung |
|---|---|
NOTIFICATION_SEND | Manuelle Nachrichtenversendung |
NOTIFICATION_TEMPLATE_MANAGE | Vorlagen bearbeiten |
Berichte
| Berechtigung | Beschreibung |
|---|---|
REPORT_VIEW | Berichte ansehen |
REPORT_EXPORT | Berichte exportieren |
Experimente
| Berechtigung | Beschreibung |
|---|---|
EXPERIMENT_MANAGE | A/B-Experimente erstellen und verwalten (Business+) |
Billing
| Berechtigung | Beschreibung |
|---|---|
BILLING_MANAGE | Tarif und Zahlung verwalten (nur Owner) |
Die vollständige Liste der 57 Berechtigungen ist im Bereich Einstellungen -> Team -> Berechtigungen verfügbar (für die Tarife Business und Enterprise).
Temporäre Rollen
Sie können eine Rolle mit begrenzter Gültigkeitsdauer zuweisen. Dies ist nützlich für:
- Freiwillige bei einer Veranstaltung -- Rolle Support für einen oder zwei Tage der Durchführung
- Temporäre Manager -- Rolle Manager für die Vorbereitungszeit einer Veranstaltung
- Auditoren -- Rolle Finance für die Dauer einer Prüfung
Temporäre Rolle zuweisen
- Gehen Sie zu Einstellungen -> Team.
- Wählen Sie das Teammitglied.
- Aktivieren Sie beim Zuweisen der Rolle den Schalter Zeitlich begrenzen.
- Geben Sie Datum und Uhrzeit des Ablaufs der Rolle an.
- Klicken Sie auf Speichern.
Nach Erreichen des angegebenen Zeitpunkts wird die Rolle automatisch deaktiviert. Der Benutzer verliert die entsprechenden Berechtigungen, bleibt aber Teammitglied. Der Eintrag über die temporäre Rolle wird im Audit-Log aufbewahrt.
Berechtigungs-Caching
Zur Gewährleistung einer schnellen Berechtigungsprüfung werden Berechtigungen in Redis zwischengespeichert:
- Cache-Schlüssel:
perms:{tenantId}:{userId}:{eventId} - Cache-Lebensdauer (TTL): 60 Sekunden
- Bei Rollenänderungen wird der Cache automatisch invalidiert
In der Praxis bedeutet dies, dass nach einer Rollenänderung die neuen Rechte innerhalb von maximal einer Minute angewendet werden. Der Benutzer muss sich nicht aus dem System ab- und wieder anmelden.
Berechtigungen überprüfen
Der Veranstalter kann überprüfen, welche Berechtigungen jedes Teammitglied hat:
- Gehen Sie zu Einstellungen -> Team.
- Klicken Sie auf den Namen des Teilnehmers.
- Im Abschnitt Effektive Berechtigungen wird die vollständige Liste der Rechte unter Berücksichtigung aller zugewiesenen Rollen angezeigt.
Berechtigungen, die von verschiedenen Rollen stammen, sind mit entsprechenden Labels gekennzeichnet.