Как правильно переправить юзера в окно авторизации?

При старте приложения юзер всегда попадает в корневой роут.
Этот роут ЖЁСТКО прописан в модуле приложения.
Как сделать так, чтобы неавторизованный юзер сразу роутился в компонент окна авторизации прямо при начале работы приложения? Чтобы основной интерфейс даже не пытался отобразитьбся?
Где должна находиться эта логика - в app.module.ts?
(Ага, я в Ангуляре полный нуб :)
  • Вопрос задан
  • 181 просмотр
Пригласить эксперта
Ответы на вопрос 1
@nochnoy Автор вопроса
Правильное решение - сделать Guard и подсунуть его во все защищаемые роуты параметром canActivate:

{ path: 'page1', component: Page1Component, canActivate: [AppGuard] },


В самом Guard'е есть метод canActivate() который и решает, можно ли сейчас войти в данный роут. Если нельзя, то метод должен вернуть false - но перед этим дёрнуть this.router.navigate(['/loginPage']);
Т.е. редирект происходит внутри гварда.

Подробнее о гвардах например здесь: metanit.com/web/angular2/7.7.php
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы