嗨我配置了这个路由:
const routes: Routes = [
{
path: '',
component: LayoutComponent,
canActivateChild: [AuthGuardService],
children: [
{
path: '',
pathMatch: 'full',
redirectTo: '/buchbestellungen',
canActivate: [AuthGuardService]
},
{
path: 'buchbestellungen',
component: BuchbestellungenComponent,
canActivate: [AuthGuardService]
},
{
path: 'buchbestellungen2',
component: Buchbestellungen2Component,
canActivate: [AuthGuardService]
},
]
},
{path: 'login', component: LoginComponent},
{path: '**', component: NotFoundComponent}
];
我不想照顾登录页面的名称,如果那是将来注销后的目标页面。因此,注销完成后,注销组件将重定向到起始页。
目前,没有起始页组件(稍后,可能会有仪表板),但如果您通过了身份验证,则会重定向到“buchbestellungen”路由。如果您没有登录,访问起始页会重定向到 /buchbestellungen,而 auth-guard 服务会重定向到登录路径。
这适用于每条路线(例如 buchbestellungen2),但不是,当我在 /buchbestellungen 上注销时。这将重定向到“/”,然后返回到 buchbestellungen。但是 auth-guard 没有被调用(我在 canActivate() 方法中有一个 Console.log() ,但它也没有被调用)。
示例 1: buchbestellungen2 -> logout() -> 重定向到 / -> 重定向到 /buchbestellungen 被 auth-guard 拦截 i 结束于 /login 路由
示例 2: buchbestellungen -> logout() -> 重定向到 / -> 重定向到 /buchbestellungen(没有 auth-guard 并且没有重定向到 /login)
路由器是否有可能不调用 auth-guard,因为我来自 /buchbestellungen 并且该路由已经过身份验证?是否有可能强制路由器调用警卫?
谢谢