0

我有一个登录页面,成功登录后我需要转到我的主页。该登录功能登录到 ldap 服务器并发送响应,无论身份验证是否成功。我不希望它保留在本地存储中,因为这个应用程序只有两个页面。登录和主页。当登录成功时,它应该重定向到主页,如果没有,它应该再次重定向到登录页面。

请在浏览器中使用console.log,“inside auth guard true”会打印数千次..

我的 app.component.html 中唯一的代码是<router-outlet></router-outlet>

app.module.ts

登录组件.ts

在此处输入图像描述

在此处输入图像描述

4

1 回答 1

1

在 canActivate() 中,您需要做的就是返回 true 或 false。当您从函数内部将其重定向到主页时,您将进入无限循环。

这是因为在重定向到主页时会调用 canActivate() 并且它需要一个布尔返回值。如果值为 false,则不会加载组件。

canActivate() {
        if (this.authService.loggedIn) {
            console.log('Inside Auth Gaurd');
            return true;
        }
        console.log('auth gaurd false path');
        return false;
    }

有关 canActivate() 的更多详细信息,请参阅

于 2018-05-21T08:28:37.873 回答