メインコンテンツへスキップ
開発者向けドキュメントを表示しています
このドキュメントは、Base44 開発者プラットフォームで作業する開発者向けです。アプリエディタを使用したアプリデータの管理については、アプリデータの管理を参照してください。
User エンティティはデフォルトですべての Base44 プロジェクトに存在し、アプリのユーザーに関する情報を保存します。フィールドを追加して追加のユーザーデータを保存し、それらのフィールドをセキュリティルールで使用してデータアクセスを制御したり、アプリ内でエクスペリエンスをパーソナライズしたりできます。

組み込みフィールド

すべての User エンティティには、デフォルトで一連の組み込みフィールドが含まれています。
フィールド説明
full_namestringユーザーの表示名
emailstringユーザーのメールアドレス
rolestringadmin または user
User エンティティには、idcreated_date など、すべてのエンティティに存在する一般的な組み込みフィールドもあります。 これらのフィールドはシステムによって管理されており、スキーマで再定義することはできません。

カスタムフィールド

カスタムフィールドを追加するには、追加フィールドのみを含む User スキーマを定義します。組み込みフィールドを再定義しようとすると、検証エラーが発生します。 プロジェクトの entities ディレクトリに User.json または User.jsonc ファイルを作成します。デフォルトでは base44/entities/ ですが、プロジェクト構成でパスをカスタマイズできます。
entities/User.json
{
  "type": "object",
  "properties": {
    "company": { "type": "string" },
    "phone": { "type": "string" },
    "job_title": { "type": "string" },
    "bio": { 
      "type": "string",
      "maxLength": 500
    }
  },
  "required": ["company"]
}
その後、entities push または deploy を使用してエンティティを Base44 にプッシュします。

完全な例

さまざまなフィールドタイプを持つ完全な User スキーマ:
{
  "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"]
}

フィールドの使用

User スキーマを定義してプッシュしたら、セキュリティルールでフィールドを参照し、アプリコードでアクセスできます。

セキュリティルール内

ユーザーフィールドを使用して、他のエンティティへのアクセスを制御できます。例えば、ユーザーが自分の会社に属するレコードのみを表示できるように制限できます。 セキュリティルールでユーザーフィールドを参照するには、{{user.data.*}} テンプレート構文を使用します:
{
  "rls": {
    "read": {"data.company": "{{user.data.company}}"},
    "update": {"data.company": "{{user.data.company}}"}
  }
}
このルールにより、ユーザーはレコードの company フィールドが自分のものと一致するレコードのみを読み取り、更新できます。

コード内

SDK を介してユーザーフィールドにアクセスします:
// 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();
この例では base44 クライアントを使用しています。セットアップ手順については、クライアントのセットアップを参照してください。

関連項目

このページは AI を使用して翻訳されました。最も正確で最新の情報については、英語版 を参照してください。