В случае маршрутизатора ниже, возможно ли установить альтернативный маршрут (например, /
) для случая, когда AdalGuard
запрещает доступ к маршруту /int
или к одному из его дочерних маршрутов?
Я знал, что могу сделать это внутри класса охраны, позвонив .navigateByUrl()
внутри него или вернув UrlTree
. Но в этом случае AdalGuard
происходит из пакета 'adal-angular4', поэтому я не могу сделать такую вещь.
Есть ли что-то вроде указателя 'Else' или 'Catch' на другой маршрут, который я могли бы поместить в определение охраняемого маршрута?
Большое спасибо.
app-routing.module.ts
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { ExtMainComponent } from './ext/ext-main/ext-main.component';
import { IntMainComponent } from './int/int-main/int-main.component';
import { EmailSenderComponent } from './int/email-sender/email-sender.component';
import { AdalGuard } from 'adal-angular4';
const routes: Routes = [
{path: 'ext', component: ExtMainComponent},
{
path: 'int', component: IntMainComponent, canActivate: [AdalGuard], children: [
{path: 'email', component: EmailSenderComponent}
]
},
{path: '**', redirectTo: '/'}
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule {
}