2017-10-31 9 views
-1

私のルートのほとんどがガード(ログイン)する必要があるアプリがあります。デフォルトのルートガードと「ホワイトリスト」ルートを追加することは可能ですか?角度ガードルートデフォルトで

+0

http://www.angulartutorial.net/2018/03/login-authentication-flow-using-angular.html – Prashobh

答えて

1

私が通常行っていることは、ルートガードを持つアプリの承認された部分の親ルートを作成することです。実際にはこのルートにはテンプレートの中に<router-outlet></router-outlet>の基本コンポーネントしかありませんが、そのルートでルートガードを実行する前に子ルートにアクセスすることはできません。下の私の例を見てください。私の場合は

const routes: Routes = [ 
    { path: '', redirectTo: 'app/books', pathMatch: 'full' }, 
    { path: 'app', component: MainComponent, canActivate: [AuthGuard], children: [ 
     {path: 'books', component: BooksComponent }, 
     {path: 'cars', component: CarsComponent }, 
     {path: 'trees', component: TreesComponent } 
    ]}, 
    { path: 'login', component: LoginComponent, canActivate: [NonauthGuard] } 
]; 

NonAuthGuardは逆の動作を提供し、ユーザーが許可された状態でログインルートをヒットすることはできません。