最近、角のあるルートガードがついた。 CanActiveは、ページがロードされたときに一度だけ実行され、ガードされたルート内のルート変更では実行されません。私はこれが変更のたびに実行されていたので変更されたと思います。私がフォーラムで読んだことから、私はCanActivateChildを使うべきです。問題は、私たちのアプリケーションがいくつかのルート子孫を持ついくつかのモジュールで構成されていることです。ルートモジュールでCanActivateChildを使用すると、ルートを変更するときに何度か呼び出されます。角度:各ルート変更時にcanActivateを実行する
AppModuleの場合、遅延ロードされた子モジュールは単に「ブラックボックス」である必要があるため、これらのモジュールをすべて保護する必要があるため、それぞれの子にガードを割り当てるのは馬鹿です。
export const routes: Routes = [
{
path: '404',
component: NotFoundComponent
},
{
path: '',
canActivate: [AuthGuard],
component: FullLayoutComponent,
data: {
title: 'Home'
},
children: [
{
path: 'administration',
loadChildren: './administration/administration.module#AdministrationModule'
},
{
path: 'settings',
loadChildren: './settings/settings.module#SettingsModule'
}
]
},
{
path: '',
loadChildren: './account/account.module#AccountModule'
},
{
path: '**',
redirectTo: '404'
}
];
この問題を解決する方法はありますか?または、これはセキュリティに関して「問題ではない」と考えられますか?
ありがとうございました。
ええ、私はexatly同じを見つけました。 "意図的に"。私はこれまでのところあなたの答えを最高の解決策として見つけました。ありがとう! –