Skip to main content
Diese Seite ist Teil eines KI-Coding-Agent-Skills und für Agenten geschrieben, nicht für Menschen. Für die menschenlesbare Base44-Dokumentation siehe die Entwicklerdokumentation.

RLS-Beispiele

Praktische Row-Level-Security-Muster für gängige Anwendungstypen. Wichtig: Base44 RLS unterstützt:
  • Logische Operatoren: $or, $and, $nor zum Kombinieren von Bedingungen
  • Feldoperatoren (für data.*-Felder): $in, $nin, $ne, $all
  • user_condition: Nur Gleichheit (keine Operatoren)

Inhalt


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

Hinweis: Dieses Muster erlaubt Nutzern nur, ihr eigenes Abo zu lesen. Admins müssen die Dashboard-UI verwenden, um zusätzlichen Lesezugriff für sich zu konfigurieren.

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:
Mehrere Rollen mit $or:

Feldoperatoren für data.*-Felder

Verwende $in, $nin, $ne, $all zum Vergleichen von Entitäts-Datenfeldern: Zugriff basierend auf Tags ($in):
Bestimmte Status ausschließen ($nin):
Nicht gleich ($ne):
Alle Tags müssen passen ($all):

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:
Alternative Lösungen:
  1. Entitäts-Umbau: Speichere zwei Datensätze pro Beziehung (einen pro Partei)
  2. 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:
  1. Backend-Funktion: Benutzerdefinierte Zugriffslogik implementieren
  2. 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.