【问题标题】:angularFire and AuthenticationangularFire 和身份验证
【发布时间】:2013-07-19 13:06:31
【问题描述】:

考虑到 TodoMVC 示例 (https://github.com/firebase/angularFire/tree/gh-pages/examples/todomvc),如果我要向这个应用程序添加身份验证,我该如何处理用户的可见性 - 即如果 User1 添加了待办事项,我想确保它只对他们可见,如果 User2 登录,他看不到 User1 的项目。我怎样才能做到这一点?

除此之外 - 我想这第二个问题与前一个问题有些相关 - 存储待办事项和用户以及每个待办事项的可见性的最佳方式是什么?

【问题讨论】:

    标签: angularjs firebase angularfire


    【解决方案1】:

    假设我们正在谈论 Simple Login 进行身份验证,user 对象将包含一个 ID(使用自定义登录,您将确定内容)。按用户 ID 拆分待办事项,将它们存储在不同的路径中。

    /todos/user_id/...
    

    那么在安全规则中,登录后,auth 对象包含用户的 id,因此您可以通过用户保护每个路径:

    "todos": {
       "$user_id": {
           ".read": "auth.id === $user_id",
           ".write": "auth.id === $user_id",
       }
    }
    

    请记住,如果您要使用多个提供程序,那么您还需要按提供程序进行拆分,因为 id 仅对于给定的提供程序是唯一的。

    /todos/provider_id/user_id
    "todos": {
       "$provider_id": {
           "$user_id": {
               ".read": "auth.id === $user_id && auth.provider === $provider_id",
               ".write": "auth.id === $user_id && auth.provider === $provider_id",
           }
       }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-09
      • 2016-10-16
      • 2015-11-30
      • 2016-01-25
      • 2015-02-28
      相关资源
      最近更新 更多