Ce projet démontre comment intégrer et utiliser ngx-permissions
pour gérer les permissions et les accès dans une application Angular 18.
- Node.js et npm installés
- Angular CLI installé
-
Clonez ce dépôt :
git clone https://github.com/bibangjoseph/ngx-permission-angular-18.git cd ngx-permission-angular-18
-
Installez les dépendances :
npm install
-
Installez
ngx-permissions
:npm install ngx-permissions
-
Ouvrez
src/app/app.config.ts
et ajoutezNgxPermissionsModule
à vos imports :import {ApplicationConfig, importProvidersFrom, provideZoneChangeDetection} from '@angular/core'; import { provideRouter } from '@angular/router'; import { routes } from './app.routes'; import {NgxPermissionsModule} from "ngx-permissions"; export const appConfig: ApplicationConfig = { providers: [ // Import providers from NgxPermissionsModule importProvidersFrom(NgxPermissionsModule.forRoot()), // Provide the router configuration provideRouter(routes), ] };
-
Dans un service ou un composant, définissez vos permissions :
import { NgxPermissionsService } from '@ngx-permissions/core'; import {inject, OnInit } from '@angular/core'; @Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: ['./app.component.css'] }) export class AppComponent implements OnInit { permissionsService = inject(NgxPermissionsService) ngOnInit() { this.permissionsService.addPermission('ADMIN'); this.permissionsService.addPermission('USER'); } }
-
Utilisez les directives
ngxPermissionsOnly
etngxPermissionsExcept
dans vos templates pour contrôler l'accès :<div *ngxPermissionsOnly="'ADMIN'"> Ce contenu est visible uniquement par les administrateurs. </div> <div *ngxPermissionsExcept="'USER'"> Ce contenu est visible par tous sauf les utilisateurs. </div>
-
Vous pouvez charger et supprimer des permissions de manière dynamique :
this.permissionsService.loadPermissions(['GUEST', 'EDITOR']); this.permissionsService.removePermission('GUEST');
-
Pour démarrer l'application Angular, exécutez :
ng serve
-
Ouvrez votre navigateur à l'adresse
http://localhost:4200
.
Les contributions sont les bienvenues ! Veuillez ouvrir une issue ou soumettre une pull request pour proposer des améliorations ou signaler des problèmes.
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
N'hésitez pas à explorer ce projet et à l'utiliser comme référence pour intégrer ngx-permissions
dans vos propres applications Angular 18. Pour toute question ou suggestion, veuillez laisser un commentaire dans le dépôt GitHub.
Fait avec ❤️ par Joseph Donovan BIBANG BEFENE.