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.
Requires
- php: >=7.4.0
- ext-pdo: *
Requires (Dev)
- phpunit/dbunit: ^4.0
- phpunit/phpunit: 7.5.20
This package is auto-updated.
Last update: 2024-12-17 12:32:42 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
- PHP-RBAC Base Home Page: http://phprbac.net/
- PHP-RBAC Base Documentation: http://phprbac.net/docs_contents.php
- PHP-RBAC Base API: http://phprbac.net/api.php
- Issue Tracker: https://github.com/nchizhov/inok-rbac/issues?state=open
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
- Report Bugs, Enhancement Requests or Documentation errors using our Issue Tracker
- Choose a Bug to work on and submit a Pull Request
- Make helpful suggestions and contributions to the Documentation using our Issue Tracker