首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何以编程方式修改防火墙中的安全规则?

如何以编程方式修改防火墙中的安全规则?
EN

Stack Overflow用户
提问于 2013-12-15 03:18:21
回答 2查看 2.2K关注 0票数 5

firebase文档中的示例假定手动更新了firebase安全规则。如何以编程方式修改安全规则以支持实际的协作应用程序?在我正在考虑的用例中,要求用户能够邀请其他用户协作/共享选定的数据,并能够授予/撤销对协作者的访问权限。如何用火力基地完成这一任务?

EN

回答 2

Stack Overflow用户

发布于 2013-12-15 03:58:22

实际上,您不应该以编程方式更改您的安全规则。您应该将它们看作是代码,并且只在部署时对它们进行更改。

如果您试图更改用户实际允许的操作,则应该编写依赖于Firebase中数据的安全规则。

例如,假设您希望将对数据段的访问仅限于特定组中的用户。与其每次更改组成员资格时都修改安全规则,不如将组存储在Firebase中,并让您的安全规则在允许访问之前检查当前用户是否在该组中。

代码语言:javascript
运行
复制
".read" : "root.child('groups').child($groupID).child(auth.userid).exists()"

这样,无论何时组成员身份发生变化,用户都将自动被授予访问他们应该看到的数据的权限。

对于一个更复杂的安全规则示例,请查看rules.json文件中的Firefeed

票数 11
EN

Stack Overflow用户

发布于 2017-12-21 19:08:14

但是如何处理动态添加的数据集呢?

您可以通过使用子$节点来实现这一点。看起来是这样的:

这是我的数据库

代码语言:javascript
运行
复制
users
- userIDHere
  - name: John Doe
  - whatever: who knows

通过这样做,可以为每个用户设置规则:

代码语言:javascript
运行
复制
{
  "rules": {
    "users": {
      "$user": {
        // whatever rules you want here, and you can reference $user to get the user's id.
      }
    }
  }
}

希望这是你所要求的,希望这会有所帮助!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20590833

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档