Доброго времени суток,
Появилась необходимость в проекте сделать роли (пользователь, менеджер, админ и т.д.). Как наиболее правильнее и разумнее реализовать такую возможность?
Сейчас у меня есть сервис "AuthGuard" для проверки авторизации
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise<boolean>|boolean {
if (this.authService.isLoggedIn()) {
return true;
} else {
this.router.navigate(['/login']);
return false;
}
}
На backend прописаны все роли (для точной проверки на стороне сервера). Логичнее всего при инициализации приложения делать запрос к бэку, чтобы получить весь список и далее работать с ним. Дабы не было хардкода.
Но вот когда лучше выполнить запрос, где всё это лучше хранить и как лучше обрабатывать хотелось бы уточнить у опытных
К некоторым страницам не должно быть доступа вообще. На некоторые же страницы доступ у некоторых ролей есть, но нету доступа к определенным компонентам на этих страницах.