Wie unten gezeigt, möchte ich eine Sicherheitsregel einrichten, wenn ein Benutzer im Knoten "Benutzer" vorhanden ist, der Benutzer kann auf den Knoten "E-Mail" zugreifen. Wenn ich den Fall treffe, habe ich die eingebaute exists() Funktion benutzt, aber es scheint nicht richtig zu funktionieren. Ich habe gerade "fehlende oder unzureichende Berechtigungen" erhalten. Nur für den Fall, der Benutzer existiert sicher unter dem Knoten "Benutzer".Cloud Firestore Sicherheitsregel existiert() funktioniert nicht
Dieses Problem tritt nach wie vor, wenn die get() Funktion verwenden, in denen dieses Problem enthält (Firestore security rule get() not work)
ich total bin nicht sicher, warum diese Regel nicht funktioniert. Würde mich freuen, wenn Sie mir helfen könnten.
service cloud.firestore {
match /databases/{database}/documents {
match /emails/{email} {
allow read, write: if exists(/databases/$(database)/documents/users/$(request.auth.uid));
}
match /users/{userId} {
allow read, write: if request.auth != null;
}
}
}
Vielen Dank für Ihre Antwort. Ich habe es versucht, funktioniert aber nicht. Abgesehen von einigen speziellen Knoten funktioniert get()/exist() perfekt auf meinem Firestore. Aber ich habe diese Art von Problem nicht funktioniert wie erwartet ... Ich weiß nicht warum. –