Аутентификация с Angular 5 - PullRequest
0 голосов
/ 21 мая 2018

У меня есть страница входа, и мне нужно перейти на мою домашнюю страницу после успешного входа.Эта функция входа в систему регистрируется на сервере ldap и отправляет ответ независимо от того, прошла аутентификация или нет.Я не хочу, чтобы это оставалось в локальном хранилище, так как это приложение имеет только две страницы.логин и дом.При успешном входе в систему он должен перенаправить на домашнюю страницу, в противном случае он должен быть перенаправлен снова на страницу входа.

И, пожалуйста, console.log в браузере, "inside auth guard true" печатает тысячи раз ..

Единственный код, который у меня есть в моем app.component.html: <router-outlet></router-outlet>

app.module.ts

login.component.ts

enter image description here

enter image description here

1 Ответ

0 голосов
/ 21 мая 2018

В 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 () см. this

...