有没有办法在 Firebase 规则中存储自定义表达式以供重用?
Is there a way to store a custom expression in Firebase Rules to be reused?
我希望能够在我的 Firebase 规则中多次重复使用一个表达式。
如果我有以下规则:
{
"rules": {
".read": true,
".write": false,
"secretArea1": {
".read": "root.child('users').child(auth.uid).child('role').val() === 'admin'",
".write": "root.child('users').child(auth.uid).child('role').val() === 'admin'"
},
"secretArea2": {
".read": "root.child('users').child(auth.uid).child('role').val() === 'admin'",
".write": "root.child('users').child(auth.uid).child('role').val() === 'admin'"
}
}
}
有没有办法将 root.child('users').child(auth.uid).child('role').val() === 'admin'
存储在某个地方,这样它就不必重复 4 次?
类似于:
{
"rules": {
".read": true,
".write": false,
"secretArea1": {
".read": "isAdmin",
".write": "isAdmin"
},
"secretArea2": {
".read": "isAdmin",
".write": "isAdmin"
}
}
}
也许我处理这个问题的方式不对。任何建议都会很棒!
我刚刚发现 Blaze Compiler which was linked at Security & Rules Libraries。不完全是我正在寻找的东西并添加了一个额外的编译步骤,但似乎提供了我正在寻找的功能。如果它作为一个选项包含在 Firebase 仪表板中,那就太好了。
我希望能够在我的 Firebase 规则中多次重复使用一个表达式。
如果我有以下规则:
{
"rules": {
".read": true,
".write": false,
"secretArea1": {
".read": "root.child('users').child(auth.uid).child('role').val() === 'admin'",
".write": "root.child('users').child(auth.uid).child('role').val() === 'admin'"
},
"secretArea2": {
".read": "root.child('users').child(auth.uid).child('role').val() === 'admin'",
".write": "root.child('users').child(auth.uid).child('role').val() === 'admin'"
}
}
}
有没有办法将 root.child('users').child(auth.uid).child('role').val() === 'admin'
存储在某个地方,这样它就不必重复 4 次?
类似于:
{
"rules": {
".read": true,
".write": false,
"secretArea1": {
".read": "isAdmin",
".write": "isAdmin"
},
"secretArea2": {
".read": "isAdmin",
".write": "isAdmin"
}
}
}
也许我处理这个问题的方式不对。任何建议都会很棒!
我刚刚发现 Blaze Compiler which was linked at Security & Rules Libraries。不完全是我正在寻找的东西并添加了一个额外的编译步骤,但似乎提供了我正在寻找的功能。如果它作为一个选项包含在 Firebase 仪表板中,那就太好了。