我使用hasCustomClaim来保护路由不受非管理员用户的攻击。
const adminOnly = () => hasCustomClaim('admin');
这里的问题是,在一个简单的用户尝试访问被禁止的路径后,即使我已经声明了根路径,他也会被重定向到localhost:4200,如下所示。
const appRoutes: Routes = [
{ path: 'signin', component: AuthComponent, ...canActivate(redirectLoggedInToU) },
{ path: 'u', component: InvoiceComponent, ...canActivate(redirectUnauthorizedToSignin) },
{ path: 'super', component: SuperadminComponent, ...canActivate(adminOnly) },
{ path: '', redirectTo: 'u', pathMatch: 'full' },
{ path: '**', component: InvoiceComponent }
];
我想将非管理员用户重定向到:
{ path: '', redirectTo: 'u', pathMatch: 'full' },
而不是
{ path: '', redirectTo: 'u', pathMatch: 'full' }
您需要在路径之前添加/
(正斜杠(
{ path: '', redirectTo: '/u', pathMatch: 'full' }