mirror of
https://github.com/akveo/ngx-admin.git
synced 2025-12-16 15:40:11 +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 { ModuleWithProviders, NgModule, Optional, SkipSelf } from '@angular/core';
|
||||||
import { CommonModule } from '@angular/common';
|
import { CommonModule } from '@angular/common';
|
||||||
import { NbAuthModule, NbDummyAuthProvider } from '@nebular/auth';
|
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 { throwIfAlreadyLoaded } from './module-import-guard';
|
||||||
import { DataModule } from './data/data.module';
|
import { DataModule } from './data/data.module';
|
||||||
|
|
@ -21,6 +23,27 @@ const NB_CORE_PROVIDERS = [
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}).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,
|
AnalyticsService,
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@
|
||||||
[class.right]="position === 'normal'"
|
[class.right]="position === 'normal'"
|
||||||
[class.left]="position === 'inverse'">
|
[class.left]="position === 'inverse'">
|
||||||
<nb-action icon="nb-grid-b" class="toggle-layout" (click)="toggleSettings()"></nb-action>
|
<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-user [nbContextMenu]="userMenu" [name]="user?.name" [picture]="user?.picture"></nb-user>
|
||||||
</nb-action>
|
</nb-action>
|
||||||
<nb-action class="control-item" disabled icon="nb-notifications"></nb-action>
|
<nb-action class="control-item" disabled icon="nb-notifications"></nb-action>
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,8 @@ import {
|
||||||
NbContextMenuModule,
|
NbContextMenuModule,
|
||||||
} from '@nebular/theme';
|
} from '@nebular/theme';
|
||||||
|
|
||||||
|
import { NbSecurityModule } from '@nebular/security';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
FooterComponent,
|
FooterComponent,
|
||||||
HeaderComponent,
|
HeaderComponent,
|
||||||
|
|
@ -53,6 +55,7 @@ const NB_MODULES = [
|
||||||
NbPopoverModule,
|
NbPopoverModule,
|
||||||
NbContextMenuModule,
|
NbContextMenuModule,
|
||||||
NgbModule,
|
NgbModule,
|
||||||
|
NbSecurityModule, // *nbIsGranted directive
|
||||||
];
|
];
|
||||||
|
|
||||||
const COMPONENTS = [
|
const COMPONENTS = [
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
import { NgModule } from '@angular/core';
|
import { NgModule } from '@angular/core';
|
||||||
|
|
||||||
import { NgxEchartsModule } from 'ngx-echarts';
|
import { NgxEchartsModule } from 'ngx-echarts';
|
||||||
|
|
||||||
import { ThemeModule } from '../../@theme/theme.module';
|
import { ThemeModule } from '../../@theme/theme.module';
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue