JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 34
  • Score
    100M100P100Q95975F
  • License MIT

Role-based access control utilities for React applications

Package Exports

  • @dashforge/rbac
  • @dashforge/rbac/package.json

Readme

@dashforge/rbac

Production-grade RBAC (Role-Based Access Control) for Dashforge.

Status

V1 Core Implementation

Features

  • Deterministic permission evaluation
  • Role inheritance with circular dependency detection
  • Allow/Deny precedence
  • Wildcard support (* for action/resource)
  • Synchronous condition evaluation
  • Framework-agnostic core

Installation

npm install @dashforge/rbac

Usage

import { createRbacEngine, type RbacPolicy } from '@dashforge/rbac';

const policy: RbacPolicy = {
  roles: [
    {
      name: 'admin',
      permissions: [{ action: '*', resource: '*', effect: 'allow' }],
    },
    {
      name: 'user',
      permissions: [{ action: 'read', resource: 'booking', effect: 'allow' }],
    },
  ],
};

const rbac = createRbacEngine(policy);

const canRead = rbac.can(
  { id: '1', roles: ['user'] },
  { action: 'read', resource: 'booking' }
);

Documentation

License

MIT