Angularfire2:检查用户是否已登录的正确方法?

时间:2016-08-29 11:21:07

标签: angular firebase firebase-authentication angularfire2

我不想只允许登录用户访问某个网站。 检查用户是否在加载时登录的正确方法是什么?

以下代码是我的第一次尝试,不知道它是否有效。 当然我已经编写了db规则,现在我想为用户直观地完成这个行为。

this.af.auth.subscribe(auth => {
   if (auth) {
      //route to other view
   } else {
      //do whatever
   }
});

1 个答案:

答案 0 :(得分:3)

您应该考虑使用角度2警卫,例如canActivate。它们可以帮助您在路由发生之前进行验证。这样您就可以防止未经授权的用户导航。

如早期所说,这种方法有效。如果要对身份验证信息进行转换。可能你应该使用map,flatmap,concatMap等observables方法。