У меня есть два типа пользователей в моем приложении: ADMIN и USER
Я пытаюсь защитить страницы, к которым может иметь доступ только администратор, поэтому я написал этот код, чтобы не дать пользователю, не являющемуся пользователем, вручную изменив URL-адрес на страницу администратора:
ngOnInit() {
console.log("************");
if(!this.authService.isAdmin())
{
this.authService.logout();
this.router.navigateByUrl('login');
}
}
Хук ngOnInit()
не запускается, если URL-адрес для этого компонента введен вручную, и пользователь, не являющийся администратором, все еще может использовать страницу. Однако, если пользователь попадает на страницу с помощью маршрутизатора, ловушка срабатывает, и не администратор выходит из системы.