You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 02:20:19