Benutzerverwaltung


Uebersicht zur Benutzerverwaltung

Die Benutzerverwaltung ist auf die beiden Panels aufgeteilt.

Admin-Panel

Das Admin-Panel ist shopbezogen und dient hauptsaechlich zur Einsicht von Benutzern ueber Unternehmensbeziehungen.

App-Panel

Das App-Panel ist unternehmensbezogen und dort findet die taegliche Verwaltung von Unternehmensbenutzern statt.

Benutzertypen

Die aktuelle Codebasis definiert zwei Benutzertypen:

  • admin
  • company

Admin-Benutzer

  • greifen auf /admin zu
  • verwenden Anmeldung mit E-Mail und Passwort
  • werden typischerweise waehrend der Shopify-Installation erstellt

Unternehmensbenutzer

  • greifen auf /app zu
  • verwenden OTP-Anmeldung
  • muessen einem oder mehreren Unternehmen zugewiesen sein

Unternehmensrollen

Das aktuelle Rollen-Enum definiert:

  • Requester
  • Orderer
  • OrdererAdmin
  • BudgetAdmin
  • CompanyAdmin

Diese Rollen werden von Ressourcen-Policies und Bestell-Workflow-Aktionen verwendet.

Benutzersteuerung im Admin-Panel

Im Admin-Panel sind Benutzeraktionen ueber die Liste der zugeordneten Benutzer eines Unternehmens verfuegbar.

Aktuelle Funktionen

  • Unternehmensbenutzer anzeigen
  • die Identitaet eines Benutzers uebernehmen
  • die gespeicherte Rolle eines Benutzers aendern

Das Admin-Panel ist nicht der primaere Ort fuer das massenhafte Erstellen und Pflegen aller Unternehmensbenutzer.

Benutzersteuerung im App-Panel

Die Ressource Benutzer im App-Panel ist die zentrale Benutzerverwaltungsseite fuer einen Unternehmensmandanten.

Aktuelle Listenspalten

  • Vorname
  • Nachname
  • E-Mail
  • Rolle
  • Aktiv

Aktuelle Aktionen

  • Erstellen
  • Bearbeiten
  • Loeschen
  • Endgueltig loeschen
  • Wiederherstellen

Wichtiges Verhalten

  • die Erstellungsseite prueft vor dem Anlegen des Benutzers in Shopify auf eine vorhandene Kunden-E-Mail
  • neue Benutzer erhalten eine E-Mail-Benachrichtigung zur Verifizierung
  • die Bearbeitungsseite verhindert das Entfernen des letzten CompanyAdmin aus einem Unternehmen
  • beim endgueltigen Loeschen wird zuerst versucht, den Benutzer in Shopify zu entfernen

Wer Benutzer verwalten kann

Die aktuelle UserPolicy macht die zentrale Ressource Benutzer fuer Schreibaktionen effektiv zu einem Werkzeug fuer CompanyAdmin:

  • jeder angemeldete Unternehmensbenutzer kann die grundlegenden Policy-Pruefungen viewAny und view bestehen
  • nur CompanyAdmin kann Benutzer erstellen
  • nur CompanyAdmin kann Benutzer bearbeiten
  • nur CompanyAdmin kann Benutzer loeschen, wiederherstellen oder endgueltig loeschen

Standortzuweisung

Die Standortzuweisung erfolgt nicht im Benutzerformular selbst.

Stattdessen werden Benutzer ueber den Relation Manager Standortbenutzer in einem Standortdatensatz zugewiesen.

Das bedeutet, die uebliche Reihenfolge ist:

  1. Benutzer unter Benutzer erstellen
  2. den betreffenden Standort oeffnen
  3. den Benutzer ueber Standortbenutzer zuweisen

Policy-basierte Berechtigungen

Direkt aus den Policy-Klassen gelesen ist das aktuelle Berechtigungsmodell:

  • CompanyAdmin: voller Schreibzugriff in der Ressource Benutzer
  • BudgetAdmin: keine Rechte zum Erstellen, Bearbeiten, Loeschen, Wiederherstellen oder endgueltigen Loeschen in der zentralen Ressource Benutzer
  • OrdererAdmin, Orderer und Requester: kein Schreibzugriff in der zentralen Ressource Benutzer

Es gibt ausserdem eine Hilfsmethode updateLocationUser in UserPolicy, die zentralen Benutzerverwaltungsseiten werden jedoch durch die oben genannten ressourcenbezogenen Pruefungen fuer Erstellen, Aktualisieren, Loeschen, Wiederherstellen und endgueltiges Loeschen gesteuert.

Aktuelle Grenzen

Der aktuelle Stand stellt mehrere aelter dokumentierte Funktionen nicht bereit, darunter:

  • Massenimport von Benutzern per CSV
  • Nachverfolgung von Einladungsstatus
  • SSO oder Verzeichnissynchronisation
  • Felder fuer benutzerspezifische Ausgabenlimits in der UI
  • erweiterte Dashboards zur Aktivitaetsueberwachung

Die implementierte Benutzerverwaltung konzentriert sich auf:

  • Erstellung von Unternehmensbenutzern
  • Rollenpflege
  • Aktivierungsstatus
  • Standortzuweisung