Angular Firebase AuthGuard:完善登录判断与路径重定向逻辑
Angular Firebase登录守卫优化建议请求
我刚开始学习TypeScript、Angular和JavaScript,打算开发一个应用,找了一个将Firebase登录集成到Angular的示例仓库。我需要实现这样的功能:当用户访问特定路径(比如/account/dashboard)时,若未登录则重定向到/home,已登录则进入/dashboard。
我的auth.guard.ts代码如下,目前只是从localStorage中取值,想完善isLoggedIn方法,恳请大家给点建议:
import { Injectable } from '@angular/core'; import { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, Router } from '@angular/router'; import { Observable } from 'rxjs'; @Injectable({ providedIn: 'root' }) export class AuthGuard implements CanActivate { constructor( public router: Router ){ } get isLoggedIn(): boolean { const token = JSON.parse(localStorage.getItem('loginToken') || '{}'); return (token !== null) ? true : false; } canActivate( next: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean { if(this.isLoggedIn !== true) { this.router.navigate(['home']) } return true; } }
更新说明:已基于相关建议完成解决方案的实现,感谢支持。
内容的提问来源于stack exchange,提问作者Rwi
相关产品推荐
相关产品推荐

