Package Exports
- @anzflex/ngx-permissions
- @anzflex/ngx-permissions/package.json
Readme
ngx-permissions
Permission and roles based access control for your angular(angular 21.x.x) applications
Installation
To install this library, run:
$ npm install @anzflex/ngx-permissions --saveConsuming library
You can import library in any Angular application by running:
$ npm install @anzflex/ngx-permissions --saveand then from your Angular app.config.ts:
import { provideNgxPermissions, provideNgxPermissionsChild } from 'ngx-permissions';
export const appConfig: ApplicationConfig = {
providers: [
provideNgxPermissions(),
//...your other providers
]
};
SharedModule
If you use a SharedModule that you import in multiple other standalone components, you can export the NgxPermissionsModule to make sure you don't have to import it in every component.
@NgModule({
exports: [
CommonModule,
NgxPermissionsModule
]
})
export class SharedModule { }Once your library is imported, you can use its components, directives and pipes in your Angular application:
Import service to the main application and load permissions
import { Component, OnInit } from '@angular/core';
import { NgxPermissionsService } from 'ngx-permissions';
import { HttpClient } from '@angular/common/http';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss'],
imports: [],
})
export class AppComponent implements OnInit {
title = 'app';
permissionsService = inject(NgxPermissionsService)
http = inject(HttpClient)
ngOnInit(): void {
const perm = ["ADMIN", "EDITOR"];
this.permissionsService.loadPermissions(perm);
this.http.get('url').subscribe((permissions) => {
//const perm = ["ADMIN", "EDITOR"]; example of permissions
this.permissionsService.loadPermissions(permissions);
})
}
}Usage in templates
<div *ngxPermissionsOnly="['ADMIN', 'GUEST']">
<div>You can see this text congrats</div>
</div>
<ng-template ngxPermissionsOnly="ADMIN">
<div>You can see this text congrats</div>
</ng-template>
<ng-template [ngxPermissionsExcept]="['JOHNY']">
<div> All will see it except JOHNY</div>
</ng-template>Managing permissions
For google
angular 2 permissions, angular 4 permissions, angular permissions, angular 5 permissions ng2 permissions ng permissions ng-permissions ng2-permissions angular2 permissions angular4 permissions angular 5 permissions
License
MIT © Oleksandr Khymenko