小编tim*_*ani的帖子

角度 6 中的异步 authguard

在以 angular 访问特定路由之前,我想提供服务器端身份验证。

我有一个实现 CanActivate 的 AuthGuard 和一个服务 AuthService。authService 已经有一个private loggedIn: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(null); 视图订阅以了解用户是否登录。我真的不知道我的方法是否错误,但它似乎不起作用。

这是我在 auth.guard.ts 中的内容:

canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot) : Observable<boolean> {
    return this.authService.isAuthenticated().map((isLoggedIn) => {
        if (isLoggedIn) {
            return true;
        } else {
            this.router.navigate(['/login']);
            return false;
        }
    })
}
Run Code Online (Sandbox Code Playgroud)

这是 auth.service.ts:

    @Injectable()
export class AuthService {
    private loggedIn: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(null);

    constructor(
        private router: Router,
        private http: HttpClient
    ) {

    }

    get isLoggedIn() {
        return this.loggedIn.asObservable();
    }

    isAuthenticated() : Observable<boolean> {
        const headers …
Run Code Online (Sandbox Code Playgroud)

angular angular6

5
推荐指数
1
解决办法
6406
查看次数

在 mac 上安装 angular

我正在尝试在 macOS 上安装 Angular。我安装了 npm 5.6.0 和节点 8.11.1。我试过了sudo npm install -g @angular/cli,它似乎安装了它。但是,当我输入时ng --version,我得到:

未知错误:ReferenceError:赋值中的左侧无效

编辑:我也试过这个,没有效果:

  • npm uninstall -g angular-cli

  • npm cache cleannpm cache verify(如果 npm > 5)

  • npm install -g @angular/cli@latest

macos node.js npm angular

2
推荐指数
2
解决办法
5183
查看次数

标签 统计

angular ×2

angular6 ×1

macos ×1

node.js ×1

npm ×1