2016-07-02 23 views
6

Firebase/Storage için kullanıcı tabanlı güvenlik oluşturmak istiyorum. Aşağıda, sadece görüntüleri yüklüyorsam yazma işlemi iyi çalışır. Ama bir fotoğrafın silinmesini önler. Bu davaya uygun güvenlik kuralını nasıl oluşturabilirim?Firebase Storage, Kullanıcı tabanlı yükleme/silme için uygun kurallar nedir?

service firebase.storage { 
    match /b/<bucket>/o { 
    match /{allPaths=**} { 
     allow read: if request.auth != null; 
    } 
    match /users/{uid}/{filename} { 
     allow write: if isCurrentUser(uid); 
     allow write: if isImage() && 
         isCurrentUser(uid) && 
         lessThanNMegabytes(n) && 
         request.resource !=null && 
         filename.size() < 50; 
    } 
    } 
} 

function isCurrentUser(uid) { 
    return request.auth.uid == uid; 
} 

function lessThanNMegabytes(n) { 
    return request.resource.size < n * 1024 * 1024; 
} 

function isImage() { 
    return request.resource.contentType.matches("image/.*"); 
} 

cevap

9
Sana/yaratan bir dosyayı güncellemek veya bunu

match /users/{uid}/{filename} { 
    allow write: if isCurrentUser(uid); 
    allow write: if resource == null || 
     (isImage() && 
     lessThanNMegabytes(n) && 
     request.resource !=null && 
     filename.size() < 50); 
} 
çıkarıyorsanız kontrol etmek için bu kullanmak

İlgili konular