17.0.0 • Published 5 months ago
@ngx-security/permissions v17.0.0
ngx-security/permissions
Installation
npm install --save @ngx-security/core @ngx-security/permissions
Setup
Import SecurityCoreModule
and SecurityPermissionsModule
in app module.
@NgModule({
imports: [
BrowserModule,
SecurityCoreModule.forRoot(),
SecurityPermissionsModule.forRoot()
],
bootstrap: [AppComponent]
})
export class AppModule {
}
Now you are ready to use it. See SecurityCoreModule for SubjectService
implementation which provide authorities as permissions.
Usage
Structural directives
<p *isPermitted="'printer:xpc4000:*'">This should see users with printer:xpc4000:*</p>
Pipes
<p *ngIf="'printer:xpc4000:*' | isPermitted">This should see users with printer:xpc4000:*</p>
Pipes with poetry
<p *ngIf="'user' | isPermitted:'printer:xpc4000:*'">This should see users with printer:xpc4000:*</p>`
Advance setup
Implement custom SubjectPermissionsProvider
class:
import { Injectable, OnDestroy } from '@angular/core';
import { BehaviorSubject, Observable } from 'rxjs';
import { SubjectPermissionsProvider } from '@ngx-security/permissions';
@Injectable()
export class MyPermissionsProvider extends SubjectPermissionsProvider implements OnDestroy {
private permissions: BehaviorSubject<string[]> = new BehaviorSubject(['printer:xpc5000:print', 'printer:xpc4000:*', 'nas:timeCapsule,fritzbox:read']);
permissions$: Observable<string[]> = this.permissions.asObservable();
constructor() {
super();
}
ngOnDestroy(): void {
this.permissions.complete();
}
getPermissions(): string[] {
return this.permissions.getValue();
}
}
Import SecurityPermissionsModule
in app module and set your custom SubjectPermissionsProvider
.
@NgModule({
imports: [
BrowserModule,
SecurityCoreModule.forRoot(),
SecurityPermissionsModule.forRoot({
subjectPermissions: { provide: SubjectPermissionsProvider, useClass: MyPermissionsProvider }
})
],
bootstrap: [AppComponent]
})
export class AppModule {
}
17.0.0
5 months ago
16.0.0
5 months ago
15.0.0
1 year ago
14.0.0
2 years ago
13.0.0
2 years ago
12.0.0
3 years ago
12.0.1
3 years ago
11.0.1
3 years ago
11.0.0
3 years ago
10.0.2
4 years ago
10.0.1
4 years ago
10.0.1-snapshot.0
4 years ago
10.0.0
4 years ago
9.0.0
4 years ago
8.0.1
5 years ago
8.0.1-snapshot.0
5 years ago
8.0.0
5 years ago
1.0.0
6 years ago
0.0.1
6 years ago