AngularRouter路由守卫CanActivate始终返回false
创始人
2024-10-29 06:00:56
0

问题的原因是因为CanActivate守卫函数必须返回一个布尔对象,以允许或拒绝导航到相应的组件。如果该函数返回false,导航将被取消,并且将停留在当前页面。

下面是解决该问题的示例:

在路由定义中添加CanActivate守卫函数,在该函数中处理认证和授权逻辑,并根据结果返回true或false。

例如:

import { Injectable } from '@angular/core';
import { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot } from '@angular/router';
import { AuthService } from './auth.service';

@Injectable()
export class AuthGuard implements CanActivate {
  constructor(private authService: AuthService, private router: Router) {}

  canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {
    if (this.authService.isLoggedIn()) {
      return true;
    }

    // 认证失败,重定向到登录页面
    this.router.navigate(['/login']);
    return false;
  }
}

然后在路由定义中使用AuthGuard守卫函数,例如:

import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';

import { HomeComponent } from './home/home.component';
import { LoginComponent } from './login/login.component';
import { AuthGuard } from './auth.guard';

const appRoutes: Routes = [
  { path: '', component: HomeComponent, canActivate: [AuthGuard] },
  { path: 'login', component: LoginComponent }
];

@NgModule({
  imports: [RouterModule.forRoot(appRoutes)],
  exports: [RouterModule]
})
export class AppRoutingModule {}

这就可以解决CanActivate始终返回false的问题,并在路由守卫函数中处理认证和授权逻辑。

相关内容

热门资讯

解密透视!菠萝德州透视脚本,微... 解密透视!菠萝德州透视脚本,微乐山西脚本插件,经验教程(有挂技巧)-哔哩哔哩1、用户打开应用后不用登...
详细透视!hhpoker辅助器... 详细透视!hhpoker辅助器视频,微乐四川麻将辅助器,绝活教程(了解有挂)-哔哩哔哩在进入hhpo...
解密透视!we poker辅助... 解密透视!we poker辅助器v3.3,广西微乐小程序脚本,办法教程(有挂实锤)-哔哩哔哩1、超多...
关于透视!wepoker透视a... 关于透视!wepoker透视app下载,微乐小程序辅助脚本平台,举措教程(发现有挂)-哔哩哔哩暗藏猫...
解密透视!wepoker数据分... 解密透视!wepoker数据分析,微信微乐自建房脚本免费下载,方式教程(有挂方法)-哔哩哔哩1、许多...
推荐透视!哈糖大菠萝可以开挂吗... 推荐透视!哈糖大菠萝可以开挂吗,微信微乐辅助器下载,妙计教程(真是有挂)-哔哩哔哩1、完成哈糖大菠萝...
教你透视!wpk德州局怎么透视... 教你透视!wpk德州局怎么透视,微乐兰州麻将小程序辅助,步骤教程(揭秘有挂)-哔哩哔哩1、wpk德州...
教你透视!hhpoker可以开... 教你透视!hhpoker可以开挂吗,微乐陕西麻将破解,绝活儿教程(有挂方式)-哔哩哔哩1、每一步都需...
有挂透视!wejoker辅助器... 有挂透视!wejoker辅助器怎么卖,微乐科技软件下载,秘籍教程(有挂秘籍)-哔哩哔哩亲,关键说明,...
辅助透视!德普之星有透视辅助吗... 辅助透视!德普之星有透视辅助吗,微乐自建房辅助工具安全吗,课程教程(有挂技巧)-哔哩哔哩1、打开软件...