5

私は書くことができるFirebaseデータベースを設定しようとしています。したがって、ユーザーは何も書き込む権限を持ちません。しかし誰もがそれを読むことができます。1人の管理者だけがFirebaseデータベースを書き込むことを許可する方法はありますか?

しかし、私はルールを設定できませんでした。私は電子メール/パスワードログインを使用して作成した管理者ユーザーが1人あり、そのUIDを知っています。私のUIDが:dJrGShfgfd2

私はこれら2つの方法を試みましたが、私はデータベースに書き込むことができませんでした。

{ 
    "rules": { 
    "events": { 
     ".read": true, 
     ".write": "auth.uid === 'dJrGShfgfd2'" 
    } 
    } 
} 

特定のUIDを持つ1人のユーザーだけがデータベースに何かを書き込むことを許可するにはどうすればよいですか?

+0

最初のスニペットのルールは大丈夫です。彼らはadminの 'events'パスへの書き込みアクセスと他のものへの読み込みアクセスを許可する必要があります。 – cartant

+0

待ってください私のイベント・パスなどはデータベースにありません。どこにも適用される書き込みルールを定義するにはどうすればよいですか? – yigitserin

+0

ルール階層に 'events'があります。データベースにそのようなキーがない場合は、それを削除し、 '.read'と' .write'を 'rules'の下に移動します。 – cartant

答えて

6

これは動作するはずです:世界で

{ 
    "rules": { 
    ".read": true, 
    ".write": "auth.uid === 'dJrGShfgfd2'" 
    } 
} 

誰もがデータを読み取ることができますが、UID dJrGShfgfd2(およびprocesses with administrative access)を持つユーザーだけがデータを書き込むことができます。

+0

あなたはこれをクライアント側のみで完全に行うことができます。つまり、メンバーとシステムメンバーの間でバックエンドを取らずに支払うことができます。ユーザーがメンバーになった場合、どのようにすればいいのですか? –

+0

あなたができることは、彼らがすでに支払ったと言っているサーバー上の変数をチェックすることです。その後、その変数が「true」であることを確認する権限にルールを追加して、ユーザーが支払ったと言う意味の「false」、つまりユーザーが支払っていないと言ったことを意味することができます – CraftedGaming

+0

あなた? – Tomer

関連する問題