Zum Hauptinhalt springen
Du siehst gerade die Entwicklerdokumentation
Diese Dokumentation richtet sich an Entwickler, die mit der Base44-Entwicklerplattform arbeiten. Informationen zum Verwalten deiner App-Daten über den App-Editor findest du unter App-Daten verwalten.
Die User-Entität existiert standardmäßig in jedem Base44-Projekt und speichert Informationen über die Benutzer deiner App. Du kannst Felder hinzufügen, um zusätzliche Benutzerdaten zu speichern, und diese Felder dann in Sicherheitsregeln verwenden, um den Datenzugriff zu steuern, oder in deiner App, um das Erlebnis zu personalisieren.

Eingebaute Felder

Jede User-Entität enthält standardmäßig eine Reihe von eingebauten Feldern.
FeldTypBeschreibung
full_namestringAnzeigename des Benutzers
emailstringE-Mail-Adresse des Benutzers
rolestringEntweder admin oder user
Die User-Entität hat außerdem die allgemeinen eingebauten Felder, die auf allen Entitäten existieren, etwa id und created_date. Diese Felder werden vom System verwaltet und können in deinem Schema nicht neu definiert werden.

Eigene Felder

Um eigene Felder hinzuzufügen, definiere ein User-Schema, das nur deine zusätzlichen Felder enthält. Der Versuch, eingebaute Felder neu zu definieren, führt zu einem Validierungsfehler. Erstelle eine User.json- oder User.jsonc-Datei im Entities-Verzeichnis deines Projekts. Standardmäßig ist das base44/entities/, aber du kannst den Pfad in deiner Projektkonfiguration anpassen.
entities/User.json
{
  "type": "object",
  "properties": {
    "company": { "type": "string" },
    "phone": { "type": "string" },
    "job_title": { "type": "string" },
    "bio": { 
      "type": "string",
      "maxLength": 500
    }
  },
  "required": ["company"]
}
Pushe dann deine Entitäten zu Base44 mit entities push oder deploy.

Vollständiges Beispiel

Hier ist ein vollständiges User-Schema mit verschiedenen Feldtypen:
{
  "type": "object",
  "properties": {
    "company": {
      "type": "string"
    },
    "phone": {
      "type": "string"
    },
    "job_title": {
      "type": "string",
      "maxLength": 100
    },
    "bio": {
      "type": "string",
      "maxLength": 500
    },
    "website": {
      "type": "string",
      "format": "uri"
    },
    "preferences": {
      "type": "object",
      "properties": {
        "theme": {
          "type": "string",
          "enum": ["light", "dark"],
          "default": "light"
        },
        "notifications": {
          "type": "boolean",
          "default": true
        }
      }
    }
  },
  "required": ["company"]
}

Deine Felder verwenden

Sobald du dein User-Schema definiert und gepusht hast, kannst du deine Felder in Sicherheitsregeln referenzieren und in deinem App-Code darauf zugreifen.

In Sicherheitsregeln

Du kannst Benutzerfelder verwenden, um den Zugriff auf andere Entitäten zu steuern. Du könntest etwa Benutzer darauf beschränken, nur Datensätze zu sehen, die zu ihrem Unternehmen gehören. Um Benutzerfelder in Sicherheitsregeln zu referenzieren, verwende die Template-Syntax {{user.data.*}}:
{
  "rls": {
    "read": {"data.company": "{{user.data.company}}"},
    "update": {"data.company": "{{user.data.company}}"}
  }
}
Diese Regel stellt sicher, dass Benutzer nur Datensätze lesen und aktualisieren können, deren company-Feld mit ihrem eigenen übereinstimmt.

Im Code

Greife über das SDK auf Benutzerfelder zu:
// Get current user's fields
const currentUser = await base44.auth.me();
console.log(currentUser.company); // "Acme Inc"

// Update current user's fields
await base44.auth.updateMe({
  phone: "+1-555-0123",
  job_title: "Senior Developer"
});

// List all users with service role (backend functions only)
const allUsers = await base44.asServiceRole.entities.User.list();
Dieses Beispiel verwendet einen base44-Client. Siehe Einrichten des Clients für Einrichtungsanweisungen.

Siehe auch

Diese Seite wurde mit KI übersetzt. Für die genauesten und aktuellsten Informationen siehe die englische Version.