Mic*_*ins 12 firebase angularfire
我在编写用于构建基于团队的协作平台的安全规则时遇到困难.
如何编写.read安全规则,以便用户只能看到他们所在团队的信息?
我应该只列出两个队,因为我属于他们github:8272012.
现行安全规则:
{
"rules": {
".read": true,
"users": {
"$user": {
//can add a message if authenticated
".write": "auth.uid === $user"
}
},
"teams": {
"$team": {
"users": {
// can write to the users list only if ADMINISTRATOR
"$user": {
".write":"newData.parent().child(auth.uid).val() === 99"
}
}
}
},
"projects": {
"$team": {
"$project": {
//can add a message if they are a MEMBER
".write": "(!data.exists() && newData.exists() && root.child('teams/' + $team + '/users/' + auth.uid).val() >= 10)"
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我应该只列出两个队,因为我属于他们github:8272012.
Sar*_*ara 10
以下安全规则仅为项目团队中的用户提供项目的读写访问权限(假设您/projects为每个用户添加一个节点以指示用户有权访问哪些项目):
"rules": {
"projects": {
"$project": {
".read": "root.child('users').child(auth.uid).child('projects').val().child($project).exists()" ,
".write": "root.child('users').child(auth.uid).child('projects').val().child($project).exists()"
}
}
}
Run Code Online (Sandbox Code Playgroud)
我无法看到您为每个项目存储的数据,但如果您存储对项目团队的引用,您也可以在安全规则中使用该数据.
| 归档时间: |
|
| 查看次数: |
244 次 |
| 最近记录: |