Проблема перенаправления с Angular AuthGuard - PullRequest
0 голосов
/ 31 октября 2018

Я пытаюсь перенаправить пользователей на определенный маршрут, если они уже вошли на платформу (я проверяю это с помощью файлов cookie), когда они получают доступ к базовому URL моего сайта. Ожидаемое поведение таково:

  • Пользователь переходит на www.example.com.
  • Если он уже вошел в систему, перенаправить на www.example.com/my-account.
  • Если нет, перейдите к www.example.com.

Я пытался использовать CanActivate со следующим кодом:

canActivate() {
this.authService.checkStatus()
.subscribe(
  resp => {
   this.allowed = resp['isValid'];
  },
  error => {
    this.allowed = false;
  }
);

if(this.allowed) {
  this.router.navigate(['/my-account']);
  return true;
}
 return false;
}

Проблема в том, что если пользователь не вошел в систему, он покажет белую страницу, потому что компонент не будет загружен.

Есть идеи, как мне этого добиться?

Спасибо.

1 Ответ

0 голосов
/ 31 октября 2018

Это не ответ, просто предложение

По сути, это зависит от сферы применения вашего приложения. Если ваше приложение имеет небольшую область, просто загрузите все данные при запуске приложения. Если объем большой, то идите с ленивой загрузкой.

Дело в том, что у вас есть базовая загрузка всех компонентов, которые сначала использует пользователь.

E.x: Login , registration , forgot

...