RLS-Beispiele
Praktische Row-Level-Security-Muster für gängige Anwendungstypen. Wichtig: Base44 RLS unterstützt:- Logische Operatoren:
$or,$and,$norzum Kombinieren von Bedingungen - Feldoperatoren (für
data.*-Felder):$in,$nin,$ne,$all - user_condition: Nur Gleichheit (keine Operatoren)
Inhalt
- Einfache Muster (JSON-Schema)
- Operatoren verwenden
- Field-Level-Security-Beispiele
- Komplexe Muster (Dashboard-UI oder Backend)
- Best Practices
Einfache Muster (JSON-Schema)
Diese Muster funktionieren mit dem JSON-Schema-RLS-Format.Todo-App — Nur-Besitzer-Zugriff
Nutzer sehen und verwalten nur ihre eigenen Aufgaben.Kontaktformular — Öffentliches Erstellen, nur-Admin-Lesen
Jeder kann einreichen, nur Admins können Einträge ansehen.Nutzerprofil — Selbstverwaltung
Nutzer können nur auf ihr eigenes Profil zugreifen.Abteilungsdaten — Zugriff für gleiche Abteilung
Nutzer sehen nur Datensätze aus ihrer Abteilung.Abo — Admin-verwaltet, für Nutzer über E-Mail-Feld lesbar
Private Daten — Nur Besitzer
Öffentlich lesen, authentifiziert schreiben
Jeder kann lesen, nur eingeloggte Nutzer können ihre eigenen Datensätze erstellen/bearbeiten.Operatoren verwenden
Logische Operatoren
Kombiniere mehrere Bedingungen mit$or, $and oder $nor:
Besitzer- ODER Admin-Zugriff:
Feldoperatoren für data.*-Felder
Verwende$in, $nin, $ne, $all zum Vergleichen von Entitäts-Datenfeldern:
Zugriff basierend auf Tags ($in):
Logische und Feldoperatoren kombinieren
Field-Level-Security-Beispiele
Steuere den Zugriff auf bestimmte Felder innerhalb einer Entität.Sensibles Gehaltsfeld
Nur-Admin-interne Felder
Komplexe Muster (Dashboard-UI oder Backend)
Manche Muster erfordern immer noch die Dashboard-UI oder Backend-Funktionen.Bidirektionale Beziehungen (z. B. Freundschaften, Matches)
Anforderung: Beide Parteien einer Beziehung sollen Zugriff haben. Jetzt mit $or möglich:- Entitäts-Umbau: Speichere zwei Datensätze pro Beziehung (einen pro Partei)
- Backend-Funktion: Abfrage mit benutzerdefinierter Logik
Komplexe Geschäftslogik
Anforderung: Zugriff hängt von mehreren Entitätsfeldern mit komplexen Bedingungen ab. JSON-Schema-Einschränkung: Auch mit Operatoren kann sehr komplexe Geschäftslogik schwer auszudrücken sein. Lösungsoptionen:- Backend-Funktion: Benutzerdefinierte Zugriffslogik implementieren
- Einfachere Regeln kombinieren: Komplexe Regeln in einfachere Regeln auf Entitäts- und Feldebene aufteilen
Best Practices
Sicherheitsstrategie
Nutze eine Kombination aus Entitäts-RLS und Field-Level-Security:Wann welchen Ansatz verwenden
Häufige Rollenmuster
Zusammenfassung unterstützter Operatoren
Zusammenfassung der Einschränkungen
Diese Seite wurde mit KI übersetzt. Für die genauesten und aktuellsten Informationen siehe die englische Version.