1

タイトルが示唆するように、データベースのさまざまな部分へのアクセスを別のユーザーに与えたいと考えています。私は唯一の公式のGoogleドキュメントで次を発見した:私は何をしたいかuidによるfirebaseリアルタイムデータベースの一部へのアクセスを与える

{ 
    "rules": { 
    "users": { 
     "$uid": { 
     ".write": "$uid === auth.uid" 
     } 
    } 
    } 
} 

は、データベース内の任意の名前のノードへのアクセスを与えることです。たとえば、複数のユーザーに同じノードへのアクセスを許可したいと考えています。このアプローチは機能しません。私は以下を試しました:

{ 
    "rules": { 
    "users": { 
     "myNode": { 
     ".write": "auth.uid === 1EAwd9b6d9YloPlLpf0tpyztKR12" 
     } 
    } 
    } 
} 

しかし、それは動作していないようです。

事前にお問い合わせいただきありがとうございます。

+1

です。文字列値を引用符で囲む必要があります。また、ルールを現在のユーザに固有のものにする場合は、 'auth.uid'を使用します。したがって: '' .write ":" auth.uid === '1EAwd9b6d9YloPlLpf0tpyztKR12' "'。 Firebase Databaseセキュリティガイドには、より多くの情報が含まれているため、エンドツーエンドで読むことを強くお勧めします。https://firebase.google.com/docs/database/security/ –

+0

@FrankvanPuffelenとにかく感謝します。また、私はFirebaseデータベースのセキュリティガイドを読んでいましたが、そこに私の問題の解決策が見つかりませんでした。 – zomnombom

+0

@FrankvanPuffelenあなたが指摘した '$ uid'の間違いは、stackoverflowの質問の誤植でした。私の元のコードでは、 "auth.uid" – zomnombom

答えて

2

少しの実験の後、私はエラーが単に文字列値を引用符で囲む必要があることを発見しました。正しいコードは

{ 
    "rules": { 
    "users": { 
     "myNode": { 
     ".write": "auth.uid === '1EAwd9b6d9YloPlLpf0tpyztKR12'" 
     } 
    } 
    } 
} 
関連する問題