ngOnInit не вызывается после изменения URL-адреса вручную - PullRequest
0 голосов
/ 23 февраля 2020

У меня есть два типа пользователей в моем приложении: ADMIN и USER

Я пытаюсь защитить страницы, к которым может иметь доступ только администратор, поэтому я написал этот код, чтобы не дать пользователю, не являющемуся пользователем, вручную изменив URL-адрес на страницу администратора:

ngOnInit() {

    console.log("************");

    if(!this.authService.isAdmin())
      {
        this.authService.logout();
        this.router.navigateByUrl('login');
      }

  }

Хук ngOnInit() не запускается, если URL-адрес для этого компонента введен вручную, и пользователь, не являющийся администратором, все еще может использовать страницу. Однако, если пользователь попадает на страницу с помощью маршрутизатора, ловушка срабатывает, и не администратор выходит из системы.

...