Vic*_*jee 2 rxjs ngrx angular angular-route-guards
我正在尝试创建一个AuthGuard来检查用户是否可以访问路由,否则重定向到登录视图。我想Observable<Boolean|UrlTree>从该
canActivate方法返回一个。这是我到目前为止所拥有的。
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
return this.store$.select(appState => appState.auth.authUser)
.pipe(map(authUser => Boolean(authUser)));
}
Run Code Online (Sandbox Code Playgroud)
但是,我不太确定如何/在哪里可以从可观察到重定向到 UrlTree /login,因为我对这整个事情很陌生,特别是 rxjs。预先感谢您的任何帮助。
小智 5
也许只是
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;
}))
}
Run Code Online (Sandbox Code Playgroud)
简单并且应该可以工作
| 归档时间: |
|
| 查看次数: |
3547 次 |
| 最近记录: |