Angular守卫与RxJS筛选器不兼容。
创始人
2024-10-29 13:30:26
0

可以通过使用 pipe 和 map 来解决此问题。下面的代码示例演示了如何在守卫中使用过滤器进行身份验证:

import { Injectable } from '@angular/core';
import { CanActivate, Router } from '@angular/router';
import { Observable } from 'rxjs/Observable';
import { tap, map } from 'rxjs/operators';
import { AuthService } from './auth.service';

@Injectable()
export class AuthGuard implements CanActivate {

  constructor(private authService: AuthService, private router: Router) {}

  canActivate(): Observable {

    return this.authService.isAuthenticated.pipe(
      map(authenticated => {
        if (!authenticated) {
          this.router.navigate(['/login']);
          return false;
        }
        return true;
      })
    );
  }
}

在此示例中,我们使用 pipe 和 map 运算符来解决此问题。首先,我们获取身份验证状态并使用 map 函数对其进行转换。如果用户未经身份验证,则导航到登录页面并返回 false。如果用户经过身份验证,则返回 true,表示可以通过守卫。

使用这种方法,我们可以轻松地将筛选器与 Angular 守卫集成在一起,从而使身份验证更加安全和可靠。

相关内容

热门资讯

透视挂透视!wepoker安装... 透视挂透视!wepoker安装教程(透视)新2025版(2025已更新)(哔哩哔哩)1、起透看视 w...
透视总结!aapoker如何设... 透视总结!aapoker如何设置胜率(透视)透视方法(总是真的是有挂);1、超多福利:超高返利,海量...
透视游戏!线上德州的辅助器是什... 透视游戏!线上德州的辅助器是什么(透视)细节揭秘(2025已更新)(哔哩哔哩)透视游戏!线上德州的辅...
透视透视!aapoker ai... 透视透视!aapoker ai插件(透视)透视方法(竟然真的有挂);1、在aapoker ai插件a...
透视攻略!智星德州插件(透视)... 透视攻略!智星德州插件(透视)2025新版(2020已更新)(哔哩哔哩);1、下载好智星德州插件辅助...
透视透视挂!aapoker真的... 透视透视挂!aapoker真的假的(透视)免费透视脚本(竟然有挂)1、起透看视 aapoker真的假...
透视能赢!智星德州插件(透视)... 透视能赢!智星德州插件(透视)详细教程(2021已更新)(哔哩哔哩);小薇(透视辅助)致您一封信;亲...
透视辅助!aapoker免费透... 透视辅助!aapoker免费透视脚本(透视)万能辅助器(真是真的是有挂)1、这是跨平台的aapoke...
透视好友房!werplan外卦... 透视好友房!werplan外卦神器(透视)科技教程(2026已更新)(哔哩哔哩)1、游戏颠覆性的策略...
透视插件!aapoker ai... 透视插件!aapoker ai插件(透视)插件下载(真是存在有挂)1、完成aapoker ai插件的...