有没有办法在firebase存储规则中验证用户角色?

时间:2016-08-28 02:08:50

标签: firebase firebase-realtime-database firebase-authentication firebase-security firebase-storage

我正在尝试根据用户角色限制firebase存储。

Database:
    users
        <uid>
            admin=false
            ... ... ...

我正在尝试在firebase存储中使用以下类型的规则:

root.child('users').child(auth.uid).child('user').child('admin').val() == true

将此添加到写入规则后,我的访问被拒绝。

感谢。

1 个答案:

答案 0 :(得分:3)

Frank van Puffelen在评论中指出:

function isAdminUser() {
    return request.auth.uid in {
        "yaddayadddayaddUserIDKey":"User Name1"
    };
}

service firebase.storage {
    match /b/<appName>.appspot.com/o {
        match /{allPaths=**} {
            allow read;
            allow write: if request.auth != null && isAdminUser();
        }
   }
}