mirror of
https://github.com/akveo/ngx-admin.git
synced 2025-12-16 07:30:12 +01:00
feat(security): add security setup (#1565)
This commit is contained in:
parent
f4cdf4ab22
commit
480a90b8c2
4 changed files with 28 additions and 1 deletions
|
|
@ -1,6 +1,8 @@
|
|||
import { ModuleWithProviders, NgModule, Optional, SkipSelf } from '@angular/core';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { NbAuthModule, NbDummyAuthProvider } from '@nebular/auth';
|
||||
import { NbSecurityModule, NbRoleProvider } from '@nebular/security';
|
||||
import { of as observableOf } from 'rxjs/observable/of';
|
||||
|
||||
import { throwIfAlreadyLoaded } from './module-import-guard';
|
||||
import { DataModule } from './data/data.module';
|
||||
|
|
@ -21,6 +23,27 @@ const NB_CORE_PROVIDERS = [
|
|||
},
|
||||
},
|
||||
}).providers,
|
||||
NbSecurityModule.forRoot({
|
||||
accessControl: {
|
||||
guest: {
|
||||
view: '*',
|
||||
},
|
||||
user: {
|
||||
parent: 'guest',
|
||||
create: '*',
|
||||
edit: '*',
|
||||
remove: '*',
|
||||
},
|
||||
},
|
||||
}).providers,
|
||||
{
|
||||
provide: NbRoleProvider,
|
||||
useValue: {
|
||||
getRole: () => {
|
||||
return observableOf('guest'); // here you could provide any role based on any auth flow
|
||||
},
|
||||
},
|
||||
},
|
||||
AnalyticsService,
|
||||
];
|
||||
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
[class.right]="position === 'normal'"
|
||||
[class.left]="position === 'inverse'">
|
||||
<nb-action icon="nb-grid-b" class="toggle-layout" (click)="toggleSettings()"></nb-action>
|
||||
<nb-action>
|
||||
<nb-action *nbIsGranted="['view', 'user']" >
|
||||
<nb-user [nbContextMenu]="userMenu" [name]="user?.name" [picture]="user?.picture"></nb-user>
|
||||
</nb-action>
|
||||
<nb-action class="control-item" disabled icon="nb-notifications"></nb-action>
|
||||
|
|
|
|||
|
|
@ -19,6 +19,8 @@ import {
|
|||
NbContextMenuModule,
|
||||
} from '@nebular/theme';
|
||||
|
||||
import { NbSecurityModule } from '@nebular/security';
|
||||
|
||||
import {
|
||||
FooterComponent,
|
||||
HeaderComponent,
|
||||
|
|
@ -53,6 +55,7 @@ const NB_MODULES = [
|
|||
NbPopoverModule,
|
||||
NbContextMenuModule,
|
||||
NgbModule,
|
||||
NbSecurityModule, // *nbIsGranted directive
|
||||
];
|
||||
|
||||
const COMPONENTS = [
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
import { NgModule } from '@angular/core';
|
||||
|
||||
import { NgxEchartsModule } from 'ngx-echarts';
|
||||
|
||||
import { ThemeModule } from '../../@theme/theme.module';
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue