1

Je n'arrive pas à comprendre comment je peux autoriser les utilisateurs à créer de nouveaux enregistrements dans la liste, mais uniquement autoriser les créateurs à mettre à jour leurs propres messages.Règles Firebase: autoriser push mais ne pas autoriser la mise à jour

E.g. la structure suivante:

post { 
    post1: { 
     author: "user1" 
     text: "Some text" 
    } 
    post2: { 
     author: "user2" 
     text: "Some text 2" 
    } 
} 

Ici, je souhaite que les deux utilisateurs puissent créer de nouveaux messages. Mais aussi protéger, disons, post2 d'être édité par user1. Ainsi, seul user1 peut éditer post1 et seul user2 peut éditer post2.

Répondre

5

Vous voulez faire quelque chose comme ceci:

{"rules": { 
    "post": { 
    "$id": { 
     ".write": "auth !== null && (!data.exists() || data.child('author').val() === auth.uid)" 
    } 
    } 
}} 

Vous êtes ici seulement si l'écriture permet l'utilisateur est connecté et a) le nœud essayant d'écrire est vide ou b) le noeud tenter d'être écrit a été rédigé par l'utilisateur actuel.