This is an experimental refactor / update of PHP-RBAC 2.x to use Postgres databases as well. All tests are passing but this is unofficial work at this point.
Current Stable Release: PHP-RBAC v2.0
##Connect With Us
- Home Page: https://phprbac.net/
- OWASP Project Page: https://www.owasp.org/index.php/Phprbac
- PHP-RBAC Documentation: https://phprbac.net/docs_contents.php
- PHP-RBAC Wiki: https://github.com/OWASP/rbac/wiki
- PHP-RBAC API: https://phprbac.net/api.php
- Issue Tracker: https://github.com/OWASP/rbac/issues?state=open
- Mailing List: https://lists.owasp.org/mailman/listinfo/owasp_phprbac
##What is an 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 PhpRbac;
$rbac = new Rbac($cfg);
Without a 'use' statement, outside of a namespace:
$rbac = new PhpRbac\Rbac($cfg);
Without a 'use' statement, inside of another namespace (notice the leading backslash):
$rbac = new \PhpRbac\Rbac($cfg);
Configuration options are fully documented in Rbac.php, and will look like:
$cfg = array(
'dbType' => 'mysql',
'host' => 'localhost',
'dbName' => 'my_database',
'user' => 'vagrant',
'pass' => 'secret',
'pfx' => 'phprbac_',
);
##PHP-RBAC and PSR
PHP-RBAC's Public API is now fully PSR-0, PSR-1 and PSR-2 compliant.
You can now:
- Use Composer to install/update PHP-RBAC
- Use any PSR-0 or 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.
##The future of PHP-RBAC
We are in the process of refactoring the PHP-RBAC internals. We have two goals in mind while doing this:
- To meet modern PHP OOP "Best Practices"
- To meet PHP-FIG PSR compliance: https://www.php-fig.org/
With a PSR compliant Public API already in place we can continue to work towards our goals one piece at a time without altering the Public API that developers are working with and rely on, making the transition as seamless and invisible as possible.
##Contributing##
We welcome all contributions that will help make PHP-RBAC even better tomorrow than it is today!
Please visit the PHP-RBAC Wiki to learn about our development process and workflow.
###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
- Spread the word about PHP-RBAC by:
- Creating Tutorials
- Blogging
- Tweeting
- Facebooking
- Google+ing
- Talking to friends and colleagues about us