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的问题,并在路由守卫函数中处理认证和授权逻辑。

相关内容

热门资讯

透视攻略!hhpoker可以控... 透视攻略!hhpoker可以控制吗,hhpoker视频巡查真的假的,分享教程(有挂详情);1、下载好...
透视计算(WPK)果然真的有挂... 透视计算(WPK)果然真的有挂(透视)wpk透视辅助方法(德州教程)1.wpk透视辅助方法 ai辅助...
透视免费!wepoker软件安... 透视免费!wepoker软件安装包,hhpoker透视脚本下载,安装教程(有挂细节)1、许多玩家不知...
辅助透视(WPK)确实有挂(透... 辅助透视(WPK)确实有挂(透视)wpk辅助哪里买(必备教程)1、打开软件启动之后找到中间准星的标志...
透视模拟器!hhpoker透视... 透视模拟器!hhpoker透视方法,hhpoker一直输有挂吗,软件教程(有挂细节)该软件可以轻松地...
透视肯定(WPK)总是真的是有... 透视肯定(WPK)总是真的是有挂(透视)wpk插件(安装教程)1、首先打开wpk插件最新版本,在wp...
透视游戏!德州局怎么透视,hh... 透视游戏!德州局怎么透视,hhpoker软件靠谱吗,透明教程(有挂教程);1、游戏颠覆性的策略玩法,...
透视系统(WPK)本来有挂(透... 透视系统(WPK)本来有挂(透视)wpk作弊(AA德州教程)wpk作弊辅助器中分为三种模型:wpk作...
透视攻略!hhpoker德州透... 透视攻略!hhpoker德州透视,hhpoker外挂靠谱吗,详细教程(有挂插件)1、该软件可以轻松地...
透视肯定(WPK)原来是有挂(... 透视肯定(WPK)原来是有挂(透视)wpk有那种辅助吗(细节方法)1、进入到wpk有那种辅助吗黑科技...