Nicht jeder User sollte alles koennen. Admins verwalten, Editoren bearbeiten, Nutzer lesen. Ein sauberes Rollen-System schuetzt deine App und gibt dir volle Kontrolle ueber Zugriffe.
Pro-Tip — Der schnelle Weg
Starte mit drei Rollen: admin, editor, user. Mehr brauchst du am Anfang nicht. Fuege neue Rollen nur hinzu wenn ein konkreter Use Case es erfordert, nicht praventiv.
Seite 1
1
Rollen-Schema definieren
Definiere die Rollen in deiner Datenbank. Jeder User hat eine Rolle die seine Berechtigungen bestimmt.
// Supabase SQL create type user_role as enum ('admin', 'editor', 'user');
alter table profiles add column role user_role default 'user';
// TypeScript type Role = 'admin' | 'editor' | 'user';
2
Berechtigungs-Map erstellen
Definiere welche Rolle was darf in einer zentralen Map. Das ist leichter zu warten als verteilte if-Checks ueberall im Code.
type Permission = (typeof permissions)[keyof typeof permissions][number];
export function hasPermission(role: Role, permission: Permission): boolean { return (permissions[role] as readonly string[]).includes(permission); }
3
API Routes schuetzen
Erstelle eine Middleware-Funktion die den Rollen-Check vor jedem geschuetzten Endpunkt ausfuehrt.
// lib/auth-guard.ts export async function requireRole(request: Request, ...roles: Role[]) { const user = await getCurrentUser(request); if (!user) throw new Error('Unauthorized'); if (!roles.includes(user.role)) throw new Error('Forbidden'); return user; }
// In Route Handler export async function DELETE(request: Request) { const user = await requireRole(request, 'admin'); // Nur Admins kommen hierher }
4
UI nach Rolle anpassen
Zeige Buttons und Menues nur wenn der User die noetige Berechtigung hat. Das ist UX, nicht Security, der API-Check ist trotzdem noetig.
import { hasPermission } from '@/lib/permissions';
Supabase Row Level Security kann Rollen-Checks direkt in der Datenbank erzwingen
Seite 3
Bereit für den nächsten Schritt?
KIWorld VibeCoding Masterclass
Du willst nicht nur einzelne Tools einrichten, sondern wirklich lernen wie du mit KI komplette Apps, Websites und SaaS-Produkte baust? Über 700 Videos — von Anfänger bis Fortgeschritten — in jedem Bereich. Von der Idee bis zum fertigen Produkt, ohne eine Zeile Code selbst zu schreiben.