Comment puis-je restreindre l'accès en écriture à la propriété d'un objet dans Firebase à la session du navigateur qui l'a créé en utilisant ref.push()
? Je veux que tous les clients aient un accès en lecture aux enfants de /buttonClicksByBrowserSession
comme je le fais dans les règles de sécurité ci-dessous, et je veux que les clients puissent pousser un enfant à /buttonClicksByBrowserSession
et le modifier, mais je veux que l'enfant soit édité après le navigateur rafraîchir.Firebase: limite l'accès en écriture d'un enfant à la session du navigateur qui l'a créé
Mes règles de sécurité Firebase:
{
"rules": {
".read": false,
".write": false,
"buttonClicksByBrowserSession": {
".read": true,
"$autoGeneratedID": {
".write": "newData.isNumber() && (data.val() == null && newData.val() === 1 || newData.val() - data.val() === 1")
}
}
}
}
Mes JS:
var fbRef = new Firebase('https://fbKey.firebaseIO.com/buttonClicksByBrowserSession');
var numClicksRef = fbRef.push();
var numClicks = 0;
button.addEventListener('click', function() {
numClicksRef.set(++numClicks);
});