Как перехватить маршруты пользовательского интерфейса в Angular для управления сеансом пользователя? - PullRequest
0 голосов
/ 06 июля 2018

У нас есть угловое приложение с узлом в качестве задней части.У нас есть сервер аутентификации, на котором осуществляется управление сессиями.Существует http-перехватчик, который мы используем, чтобы проверить, является ли сеанс активным, чтобы выполнить http-запрос.Если сеанс истек, мы переходим на страницу входа.И это работает для большинства страниц, так как у нас есть тот или иной http-запрос в ngOnInit, и, следовательно, они работают нормально.Но я хочу знать, как перехватывать, когда нет http-запросов на загрузку.Как я с этим сталкиваюсь?Должен ли я использовать canActivate?Любые предложения будут полезны.

Спасибо

1 Ответ

0 голосов
/ 06 июля 2018

Да, для этого вы можете использовать хук canActivate углового маршрутизатора. Вы не хотите повторять код проверки входа в каждый компонент, canActivate может повторно использоваться в других частях приложения в объявлении конфигурации маршрутизатора. Вы также можете проверить, есть ли у пользователя права на просмотр этой страницы.

Что вы также можете сделать, это сделать запрос и дождаться ответа, если ответ 403, то HTTP Interceptor направляется обратно на страницу входа в систему.

Если вы не хотите проверять каждый раз, вы можете использовать локальное хранилище , чтобы сохранить дату начала сеанса и проверить, истек ли он.

...