【发布时间】:2018-06-11 01:41:03
【问题描述】:
我正在尝试根据用户在 firebase 实时数据库上的数据设置角度路线的保护。我已将管理员权限设置为仪表板:在用户的实时数据库部分 (like this picture) 上为 true。只有当用户有仪表板时,我才允许输入一些特定的路线:他/她的数据库上的真实属性。我试过下面的代码。但它总是重定向到根路由(localhost:4200)
canActivate(): Observable<boolean> {
return this.firebaseAuth.authState.map(auth => {
if (auth) {
this.authService.getUserData(auth.uid).subscribe(userData => {
if (userData['dashboard'] === true) {
return true;
} else {
this.router.navigate(['/login']);
return false;
}
})
} else {
this.router.navigate(['/login']);
return false;
}
});
}
【问题讨论】:
标签: angular firebase firebase-realtime-database firebase-authentication