npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

lib-acl-json

v0.0.11

Published

**CheckerHabilitations** est une bibliothèque TypeScript permettant de gérer et vérifier les habilitations (permissions) des utilisateurs en fonction de leur rôle. Cette classe prend en charge des configurations d'habilitation basées sur un fichier JSON e

Downloads

581

Readme

CheckerHabilitations

CheckerHabilitations est une bibliothèque TypeScript permettant de gérer et vérifier les habilitations (permissions) des utilisateurs en fonction de leur rôle. Cette classe prend en charge des configurations d'habilitation basées sur un fichier JSON et peut être utilisée dans des environnements Node.js et Bun.

Table des matières

Fonctionnalités

  • Chargement des habilitations depuis un fichier JSON : Initialise les permissions de chaque rôle via un fichier acl.json.
  • Vérification des permissions par rôle : La méthode checkPermission permet de vérifier si un rôle possède une habilitation spécifique.
  • Héritage des permissions : Les rôles peuvent hériter des habilitations d'un rôle parent.
  • Compatibilité avec Node.js et Bun : Utilise fs pour Node.js et Bun.file pour Bun pour gérer les fichiers.

Installation

Pour utiliser CheckerHabilitations dans votre projet, installez-le via npm :

npm install lib-acl-json

Assurez-vous d'avoir un fichier acl.json dans le répertoire spécifié (par défaut, dans le dossier src ou à la racine de votre projet).

Configuration

  1. Nom du fichier d'habilitations : Par défaut, la classe cherche un fichier nommé acl.json. Vous pouvez changer ce nom en définissant une variable d'environnement HABILITATION_FILENAME.
  2. Emplacement du fichier : Le fichier JSON d'habilitations est recherché dans les dossiers suivants :
    • src/acl.json
    • acl.json (racine du projet)

Utilisation

Importation de la classe

import verif from 'lib-acl-json';

Initialisation de la classe

Une fois importée, utilisez simplement verif pour vérifier les habilitations :

// Vérification des permissions
const hasAccess = verif.checkPermission("USER", "login");

if (hasAccess) {
  console.log("L'utilisateur USER peut se connecter.");
} else {
  console.log("L'utilisateur USER n'a pas accès.");
}

Méthode checkPermission

Utilisez checkPermission pour vérifier si un rôle donné possède une habilitation spécifique. Cette méthode gère l'héritage des permissions, si un rôle a un rôle parent.

Exemple JSON d'habilitations

Voici un exemple de structure JSON pour le fichier acl.json :

{
  "ADMIN": {
    "parentOf": "USER",
    "habilitations": ["forgotPassword", "manageUsers"]
  },
  "USER": {
    "parentOf": null,
    "habilitations": ["login", "viewProfile"]
  }
}

Structure JSON attendue

  • parentOf : Le rôle parent dont ce rôle hérite des habilitations, ou null si aucun parent.
  • habilitations : Liste des habilitations spécifiques à ce rôle.

Contribuer

Les contributions sont les bienvenues ! Veuillez soumettre une demande de tirage (pull request) avec vos améliorations ou corrections.