Files
tickte-system/ADMIN_ROLE_SETUP.md
Basilosaurusrex 0e19df6895 woms 3.0
2025-12-29 22:28:43 +01:00

2.1 KiB

Admin-Rolle in Appwrite einrichten

Die Admin-Erkennung verwendet jetzt die Labels aus Appwrite. Ein Benutzer ist Admin, wenn er das Label admin hat.

Schritt 1: Admin-Label in Appwrite hinzufügen

Option A: Über das Appwrite Dashboard

  1. Gehe zu https://appwrite.webklar.com
  2. Öffne dein Projekt woms
  3. Gehe zu AuthUsers
  4. Wähle den Benutzer aus, der Admin werden soll
  5. Klicke auf Edit oder öffne die Benutzer-Details
  6. Scrolle zu Labels (oder Custom Attributes)
  7. Klicke auf Add Label oder +
  8. Gib admin ein
  9. Klicke auf Save oder Update

Option B: Über die Appwrite API (für mehrere Benutzer)

Du kannst auch Labels programmatisch hinzufügen, aber das ist normalerweise nicht nötig.

Schritt 2: Überprüfen

Nach dem Hinzufügen des Labels:

  1. Logge dich aus und wieder ein (damit die Session aktualisiert wird)
  2. Oder lade die Seite neu (F5)
  3. Der Admin-Link sollte jetzt in der Navigation erscheinen
  4. Du solltest Zugriff auf das Admin-Panel haben

Schritt 3: Mehrere Admins hinzufügen

Um weitere Admins hinzuzufügen:

  1. Wiederhole Schritt 1 für jeden Benutzer
  2. Füge das Label admin hinzu
  3. Die Benutzer müssen sich neu einloggen

Wie es funktioniert

  • AuthContext: Prüft ob user.labels das Label admin enthält
  • Navbar: Zeigt den Admin-Link nur an, wenn isAdmin === true
  • AdminPage: Blockiert den Zugriff, wenn der Benutzer kein Admin ist

Debugging

Falls der Admin-Link nicht erscheint:

  1. Browser-Konsole öffnen (F12)

  2. Prüfe das User-Objekt:

    // In der Browser-Konsole:
    console.log(user)
    // Prüfe ob user.labels das Array ['admin'] enthält
    
  3. Überprüfe in Appwrite:

    • Gehe zu AuthUsers
    • Öffne deinen Benutzer
    • Stelle sicher, dass das Label admin vorhanden ist
  4. Session aktualisieren:

    • Logge dich aus und wieder ein
    • Oder lade die Seite neu

Wichtig

  • Das Label muss genau admin heißen (kleingeschrieben)
  • Der Benutzer muss sich nach dem Hinzufügen des Labels neu einloggen
  • Labels sind case-sensitive

Viel Erfolg! 🚀