Как обрабатывать истечение сессии в угловых? - PullRequest
0 голосов
/ 09 мая 2018

Я использую пружинную загрузку микро-сервис с угловым приложением. И я использую UAA в качестве сервера авторизации. Если сессия истекает, значит, приложение должно показывать сообщение во всплывающем окне и перенаправлять на страницу входа. Как добиться этого в угловых?

Может ли кто-нибудь решить эту проблему?

Спасибо и С уважением

Шилпа Кулькарни

Ответы [ 2 ]

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

Вы можете использовать угловой http-перехватчик до перехват всех ваших запросов. По истечении срока действия вашего токена или сеанса http-ответы будут 401 (неавторизовано) . Исходя из этого, вы можете перенаправить пользователя на маршрут входа. См. Документацию для HttpInterceptor .

Примерно так.

export class YourInterceptor implements HttpInterceptor {
  constructor() {}
  intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {

    return next.handle(request).do((event: HttpEvent<any>) => {
      if (event instanceof HttpResponse) {
        // do stuff with response if you want
      }
    }, (err: any) => {
      if (err instanceof HttpErrorResponse) {
        if (err.status === 401) {
          // redirect to the login route
          // or show a modal
        }
      }
    });
  }
}

Надеюсь, это поможет.

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

Необходимо выполнить проверку на HTTP запросах, например, в случае истечения срока действия сеанса (токена), и пользователь пытается выполнить некоторые HTTP-вызовы со стороны клиента, а затем сервер должен вернуть некоторый соответствующий код состояния, скажем, это 401.

Итак, в этом случае вы проверите, отвечает ли сервер кодом состояния 401, затем отобразите всплывающее окно и перенаправите на экран log in.

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