[英]Route guard for authentication with ngrx store
我正在嘗試創建AuthGuard
以檢查用戶是否可以訪問路由,否則,將重定向到登錄視圖。 我想從canActivate
方法返回一個Observable<Boolean|UrlTree>
。 這是我到目前為止所擁有的。
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
return this.store$.select(appState => appState.auth.authUser)
.pipe(map(authUser => Boolean(authUser)));
}
但是,我不太確定如何/在何處可以從可觀察對象發出UrlTree重定向到/login
,這是因為我不熟悉整個事情,尤其是rxjs。 在此先感謝您的幫助。
也許就是
canActivate(): Observable<boolean> {
return this.store$.select(appState => appState.auth.authUser)
.pipe(map(authUser => {
if (!authUser) {
this._router.navigate(['route-to-your-login-page'])
}
return authUser;
}))
}
簡單,應該工作
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.