我試圖在應用程序中設置管理系統以限制對應用程序某些區域的訪問。這是非常基本的,只是用下面的信息在firebase中創建一個新對象。 Admin默認設置爲false,我將手動將其更新爲true,因爲將很少處理。Firebase,帶有Angular&Nativescript - 從數據庫獲取用戶分配的值
這是我的登錄功能
login() {
this.firebaseService.login(this.user)
.then(() => {
this.isAuthenticating = false;
console.log(this.user.email);
this.userDetails = <any>this.firebaseService.getUserInfo();
console.log(this.userDetails);
this.userDetails.subscribe(users => {
if(users.user.admin) {
console.log('yes');
this.routerExtensions.navigate(["/admin"], { clearHistory: true });
}
else {
console.log('no');
this.routerExtensions.navigate(["/"], { clearHistory: true });
}
});
})
.catch((message:any) => {
this.isAuthenticating = false;
});
}
的的console.log(this.userDetails)是印刷[對象對象]到控制檯。
繼承人的服務呼叫
getUserInfo(): Observable<any> {
return new Observable((observer: any) => {
let path = "/Users/"+ BackendService.token;
let onValueEvent = (snapshot: any) => {
this.ngZone.run(() => {
let results = this.handleSnapshot(snapshot.value);
console.log(JSON.stringify(results));
observer.next(results);
});
};
});
}
那麼,什麼是處理我想要做的最有效方法是什麼?對不起,如果它是一個糟糕的問題,我通常使用AngularFire身份驗證,除了常規的Firebase之外,幾乎沒有任何經驗。