Firebase-Berechtigung verweigert: Zugriffsprobleme lösen
Beim Versuch, Daten an eine Firebase-Datenbank zu senden, kann der Fehler „permission_denied“ auftreten. Dies weist darauf hin, dass der aktuelle Benutzer nicht über die erforderlichen Berechtigungen zum Zugriff auf die angegebenen Daten verfügt.
Standardmäßig ist die Firebase-Datenbank nur für administrative Benutzer oder Prozesse zugänglich, die ein Admin-SDK verwenden. Sie können jedoch die Sicherheitsregeln der Datenbank ändern, um authentifizierten Benutzern oder sogar nicht authentifizierten Benutzern Zugriff zu gewähren.
Nicht authentifizierten Zugriff zulassen
Eine einfache Problemumgehung besteht darin, die Standardregeln durch zu ersetzen Folgendes:
{ "rules": { ".read": true, ".write": true } }
Dies gewährt jedem Lese- und Schreibzugriff, der Zugriff auf die URL der Datenbank hat. Es ist wichtig zu beachten, dass diese Aktion Ihre Datenbank öffentlich zugänglich macht und daher nicht für sensible Daten verwendet werden sollte.
Anmelden von Benutzern vor dem Zugriff
Eine sicherere Option soll sicherstellen, dass der Benutzer angemeldet ist, bevor er auf die Datenbank zugreift. Dies kann durch anonyme Authentifizierung erreicht werden:
firebase.auth().signInAnonymously().catch(function(error) { // Handle Errors here. });
Nach der Anmeldung können Sie Listener an die Datenbank anhängen:
firebase.auth().onAuthStateChanged(function(user) { if (user) { // User is signed in. setUserInfo(); } else { // User is signed out. } });
In der Funktion „setUserInfo“ können Sie die festlegen Die erforderlichen Daten werden unter Verwendung der bereitgestellten Benutzer-ID in die Datenbank übertragen. Dadurch wird sichergestellt, dass nur angemeldete Benutzer auf Ihre Daten zugreifen können.
Das obige ist der detaillierte Inhalt vonFirebase-Berechtigung verweigert: Wie gewähren Sie Zugriff auf Ihre Datenbank?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!