Role Based Access Manager (RBAM) is a Yii module that provides complete management of Authorisation Data (Authorisation Items, Authorisation Hierarchy, and Authorisation Assignments) for Yii’s Role Based Access Control system via a browser interface; it is intended for use in development and end-user administration environments.
RBAM has an intuitive “Web 2.0” interface to easily manage Authorisation Items (Roles, Tasks, and Operations), their hierarchy, and Authorisation Assignments. It presents all of an Authorisation Item’s information in one place providing a comprehensive overview and complete management of the item.
RBAM’s “Drill-down” and “Drill-up” features quickly show an item’s position in the Authorisation Hierarchy, what permissions it inherits (Drill down) and which Roles inherit its permissions (Drill up).
RBAM is built on top of Yii’s CAuthManager component and supports both of Yii’s built-in Authorisation Managers, CDbAuthManager and CPhpAuthManager, and authorisation managers extended from them.
RBAM supports I18N; it comes with German and Spanish translations (these are mine courtesy of Google - so poor at best).
Since V1.5 a Russian translation in included (thanks to Jangos)
If you have translation for RBAM and would like it included, please add to the RBAM thread in the forum; I'll add them in to the future releases.
- CDbAuthManager, CPhpAuthManager, or an authorisation manager component extended from them
- A User model with an attribute that is the model’s primary-key and an attribute or attributes that provide the names of users; since V1.5, name attributes can also be in a related model.
|Tested with||1.1.5||8.0||3.68||8.0||10.63||5.0||Windows 7|
|Should work with||1.x.x||All||2.0+||6.0+||9.0+||3.0+||All|
Extract the download archive onto the required folder. RBAM can be installed as a "top-level" module (in /protected/modules) or a nested module (in the modules directory of a parent module.
Edit your configuration file (if a "top-level" module)
‘modules’=>array( ‘rbam’=>array( // RBAM Configuration ), ),
(if a nested module)
‘parentModule’=>array( // Parent Module Configuration ‘modules’=>array( ‘rbam’=>array( // RBAM Configuration ), ), ),
Access RBAM in your browser at _http://your.domain/index.php?r=[parent module/]*rbam
Download the Demo ¶
You can download the demo (it's just the Yii "testdrive" app with RBAM and a user model). This comes with some Authorisation Data in place. The demo uses CPhpAuthManager; you can change the config to use CDbAuthManager (the config has the Yii demo SQLite db component) and import the PHP Authorisation data.
Before running the demo you will need to edit index.php to point to your Yii installation.
Change Log ¶
- Fixed an issue with RbamModule::getMenuItem()
- Fixed inocrrect passing of parameters to Yii::t in RbamInitialiser::initialise()
- Fixed undefined index issues in RbamInitialiser::defaultAuthData()
- Corrected scope of RbamController::ActiveChars() method to public
- Upgraded AlphaPager extension to 1.3.2
- Added RbamModule::getMenuItem() and RbamModule::getMenuItems() methods to provide CMenu integration
- Updated manual to add RbamModule::getMenuItem() and RbamModule::getMenuItems() methods. Property and method documentation now in Yii style.
- RBAM now supports user names from models related to the model specified by userClass; e.g. array(',', profile.given_name, profile.family_name) will use the given_name and family_name attributes of the profile relationship in the userClass.
- Russian translation (thanks to Jangos)
- Fixed all reported bugs
- Fixed issue with installing into DB without auth tables
- Improved sorting of users
- Improved I8n in JUI dialogs
- Improved validation error support in JUI dialogs
- Fixed issue with multiple assignments to a user (only seen on some servers)
- Added validation to biz rule to ensure it is a valid PHP "return" statement
- Changed initialisation to always add RBAM and default roles if not present. This allows RBAM to be easily added to existing RBAC authorisation data
- Added count of users with permission for an item to Auth Item Overview and Auth Item relationship tabs
- Fixed code to work with applications in sub-folders
- Initial release