0

Ich erhalte "Benutzer hat keine Berechtigung, auf dieses Objekt zuzugreifen." wenn ich versuche, jede Benutzerberechtigung wie so an der Wurzel ihres Benutzernamens in Firebase auf alle Dateien zu gewähren:Firebase Benutzerspezifische Berechtigung Platzhalter

service firebase.storage { 
    match /b/bucketname.appspot.com/o { 
    match /users/{userId}/* { 
     allow read; 
     allow write: if request.auth.uid == userId; 
    } 
    } 
} 

Und von Android ist hier eine Probe der Datei, die ich zu senden bin bis enter image description here

Aber ich bekomme com.google.firebase.storage.StorageException: Benutzer ist nicht berechtigt, auf dieses Objekt zuzugreifen.

Wie kann ich die Berechtigung anders einstellen? Hier

ist die offizielle Beispiel von https://firebase.google.com/docs/storage/security/user-security

// Only a user can upload their profile picture, but anyone can view it 
match /users/{userId}/profilePicture.png { 
    allow read; 
    allow write: if request.auth.uid == userId; 
} 

jedoch stattdessen ein Benutzer Zugriff auf eine bestimmte Datei zu geben, möchte ich einen authentifizierten Benutzer Erlaubnis geben, auf den Weg nach ihrer Benutzer-ID

+0

So versuchen Sie, allen Benutzern ohne Authentifizierung die Erlaubnis zu geben? – OBX

+0

Nein mit Authentifizierung, ich stimme die Variable userId mit dem Wert ihrer Auth-Benutzer-ID überein. –

+0

Ich erlaube Lesen für alle, aber schreiben für authentifizierte Benutzer –

Antwort

2
zu schreiben

Versuchen Sie diesen Weg:

service firebase.storage { 
    match /b/xxxx.appspot.com/o { 
    match /{allPaths=**} { 
     allow read; 
     allow write: if request.auth != null; 
    } 
    } 
} 
+0

danke, das hat funktioniert –

+0

froh zu helfen :) – OBX

Verwandte Themen