|
|
|
@ -316,6 +316,44 @@ if (await context.IsGrantedAsync(BookStorePermissions.Books.Default))
|
|
|
|
|
|
|
|
|
|
{{else if UI == "NG"}}
|
|
|
|
|
|
|
|
|
|
### Angular Guard Configuration
|
|
|
|
|
|
|
|
|
|
First step of the UI is to prevent unauthorized users to see the "Books" menu item and enter to the book management page.
|
|
|
|
|
|
|
|
|
|
Open the `/src/app/book/book-routing.module.ts` and replace with the following content:
|
|
|
|
|
|
|
|
|
|
````js
|
|
|
|
|
import { NgModule } from '@angular/core';
|
|
|
|
|
import { Routes, RouterModule } from '@angular/router';
|
|
|
|
|
import { AuthGuard, PermissionGuard } from '@abp/ng.core';
|
|
|
|
|
import { BookComponent } from './book.component';
|
|
|
|
|
|
|
|
|
|
const routes: Routes = [
|
|
|
|
|
{ path: '', component: BookComponent, canActivate: [AuthGuard, PermissionGuard] },
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
@NgModule({
|
|
|
|
|
imports: [RouterModule.forChild(routes)],
|
|
|
|
|
exports: [RouterModule],
|
|
|
|
|
})
|
|
|
|
|
export class BookRoutingModule {}
|
|
|
|
|
````
|
|
|
|
|
|
|
|
|
|
* Imported `AuthGuard` and `PermissionGuard` from the `@abp/ng.core`.
|
|
|
|
|
* Added `canActivate: [AuthGuard, PermissionGuard]` to the route definition.
|
|
|
|
|
|
|
|
|
|
Open the `/src/app/route.provider.ts` and add `requiredPolicy: 'BookStore.Books'` to the `/books` route. The `/books` route block should be following:
|
|
|
|
|
|
|
|
|
|
````js
|
|
|
|
|
{
|
|
|
|
|
path: '/books',
|
|
|
|
|
name: '::Menu:Books',
|
|
|
|
|
parentName: '::Menu:BookStore',
|
|
|
|
|
layout: eLayoutType.application,
|
|
|
|
|
requiredPolicy: 'BookStore.Books',
|
|
|
|
|
}
|
|
|
|
|
````
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{{end}}
|