Angular5路由:忽略canActivate之后的路由

Angular5路由:忽略canActivate之后的路由,angular,security,routing,angular5,auth-guard,Angular,Security,Routing,Angular5,Auth Guard,我正在尝试实施将公共区域和安全区域分开的路线 我试图实现的目标: 用户已通过身份验证: 应该“跳过”正在从SecureModel加载路由的路由 用户未通过身份验证: 应该“跳过”正在从SecureModel加载路由的路由 我对此的配置: AuthGuard返回硬编码的false。 如果我切换为true,则所有安全路由都将按预期工作 app-routing.module.ts secured-routing.module.ts public-routing.module.ts 当我评论其中一条主要

我正在尝试实施将公共区域和安全区域分开的路线

我试图实现的目标:

用户已通过身份验证: 应该“跳过”正在从SecureModel加载路由的路由

用户未通过身份验证: 应该“跳过”正在从SecureModel加载路由的路由

我对此的配置:

AuthGuard返回硬编码的false。 如果我切换为true,则所有安全路由都将按预期工作

app-routing.module.ts

secured-routing.module.ts

public-routing.module.ts

当我评论其中一条主要路线时,他们自己的公共和安全路线正在发挥作用


我非常喜欢这种路由结构,如果有人能帮助在公共路由和安全路由之间进行“切换”,那就太好了。

您不能将这两个路径都设置为空。试试下面的一个:

const routes: Routes = [
{
    path: 'a',
    canActivate: [ AuthGuard ],
    loadChildren: 'app/secured/secured.module#SecuredModule'
},
{
    path: '',
    loadChildren: 'app/public/public.module#PublicModule'
},
{ path: '**', redirectTo: '' }
];

你们有机会检查下面的答案吗?
const routes: Routes = [
{
    path: '',
    component: SecuredLayoutComponent,
    children: [
    { path: '', redirectTo: 'customer-orders', pathMatch: 'full' },
    {
        path: 'customer-orders',
        loadChildren: 'app/secured/customer-orders/customer-orders.module#CustomerOrdersModule'
    },
    {
        path: 'manufacturers',
        loadChildren: 'app/secured/manufacturers/manufacturers.module#ManufacturersModule'
    },
    {
        path: 'roles',
        loadChildren: 'app/secured/roles/roles.module#RolesModule'
    },
    {
        path: 'users',
        loadChildren: 'app/secured/users/users.module#UsersModule'
    },
    { path: '**', component: Error404Component }
    ]
}
];
const routes: Routes = [
{
    path: '',
    component: PublicLayoutComponent,
    children: [
    { path: '', redirectTo: 'login', pathMatch: 'full' },
    { path: 'login', component: LoginComponent },
    { path: '**', component: Error404Component }
    ]
}
];
const routes: Routes = [
{
    path: 'a',
    canActivate: [ AuthGuard ],
    loadChildren: 'app/secured/secured.module#SecuredModule'
},
{
    path: '',
    loadChildren: 'app/public/public.module#PublicModule'
},
{ path: '**', redirectTo: '' }
];