inok/rbac

PHP-RBAC is the de-facto authorization library for PHP. It provides developers with NIST Level 2 Standard Role Based Access Control and more, in the fastest implementation yet.

3.0.2 2024-03-17 10:34 UTC

This package is auto-updated.

Last update: 2024-04-17 10:50:05 UTC


README

PHP-RBAC is an authorization library for PHP. It provides developers with NIST Level 2 Hierarchical Role Based Access Control and more, in the fastest implementation yet.

Current Stable Release: PHP-RBAC v3.0

Connect With Us

What is a Rbac System?

Take a look at the "Before You Begin" section of our Documentation to learn what an RBAC system is and what PHP-RBAC has to offer you and your project.

NIST Level 2 Compliance

For information regarding NIST RBAC Levels, please see This Paper.

For more great resources see the NIST RBAC Group Page.

Installation

You can now use Composer to install the PHP-RBAC code base.

For Installation Instructions please refer to the "Getting Started" section of our Documentation.

Usage

Instantiating a PHP-RBAC Object

With a 'use' statement:

        use Inok\RBAC\Rbac;
        
        $rbac = new Rbac($db, $tablePrefix);

, where

  • $db - PDO Object (supports MySQL, SQLite)
  • $tablePrefix - RBAC-tables prefix (default: phprbac_)

Tests

Xml-files for Unit Tests:

  • phpunit.mysql.xml - For MySQL (MariaDB)
  • phpunit.sqlite.xml - For SQLite

Fill correct data for database connection in needed phpunit xml file:

  • DB_DSN - Data source name
  • DB_USER - Database username
  • DB_PASSWD - Database password

Run:

    vendor/bin/phpunit -c xml_file_name

PHP-RBAC and PSR

PHP-RBAC's Public API is now fully PSR-4 compliant.

You can now:

  • Use Composer to install/update PHP-RBAC
  • Use any PSR-4 compliant autoloader with PHP-RBAC
  • Use the included autoloader to load PHP-RBAC

If you notice any conflicts with PSR compliance please Submit an Issue.

How You Can Help