Я пытаюсь реализовать маршрутизацию на основе ролей для моего корневого URL.Например, когда пользователь вошел в систему, я могу перенаправить его на страницу панели пользователя с сайта login.component.То же самое относится и к админке, также перенаправляется на страницу панели администратора через логин.Но как перенаправить на конкретную панель мониторинга с помощью роли, если пользователь открывает корневой URL-адрес?
В настоящее время мой корневой маршрут указывает на компонент панели мониторинга, который анализирует роли и перенаправляет на нужную страницу панели мониторинга, пользователя или администратора.Есть ли способ устранить компонент панели мониторинга?
AppRouting.ts
export const AppRoutes: Routes = [
{
path: '',
redirectTo: 'dashboard',
pathMatch: 'full'
},
{
path: '',
component: AdminLayoutComponent,
canActivate: [AuthGuard],
canLoad: [AuthGuard],
children: [
{
path: 'dashboard',
loadChildren: './dashboard/dashboard.module#DashboardModule'
},
DashboardRouting.ts
export const DashboardRoutes: Routes = [
{
path: '',
component: DashboardRedirectComponent,
},
Проверка компонента DashboardRedirect:
export class DashboardRedirectComponent implements OnInit, AfterViewInit {
constructor(private auth: AuthenticationService, private router: Router) {
let currentUser = JSON.parse(localStorage.getItem('currentUser'));
if (this.auth.loggedIn()) {
if (currentUser['role'] == 'User') {
this.router.navigate(['/dashboard/user']);
}
if (currentUser['role'] == 'Admin') {
this.router.navigate(['/dashboard/admin']);
}
}
}
Я пытался реализовать это, используя охрану и даже распознаватель, но это не сработало.Когда я открываю корневую страницу своего приложения, оно переходит на панель мониторинга и через несколько секунд переходит на соответствующую страницу панели инструментов, но я бы хотел сразу перейти к пользователю и без дополнительного компонента для этого.Любое предложение?