Looking for a simple yet extensive database driven access control?
If so, this module might just be for you.
I've written an authorization management module that utilizes Yii's built-in database authorization management system (CDbAuthManager) to provide a web interface for hierarchical role-based access control.
I noticed that there were already some similar extensions available, but I felt that I'd be better off by writing my own.
The largest difference between other modules alike (from what I've seen) is that my module doesn't do a single query. Instead it uses the build-in functions of CDbAuthManager and CAuthItem. I think it's a bit overkill to alert the database structure as the operations are often runtime cached.
I've implemented automatic controller access control by providing an own filter.
Here's a rough list of the current features:
- Roles organized in a hierarchy
- Manage roles
- Create/Update/Delete roles
- Promote/Demote roles
- Assign/Revoke roles to/from users
- Manage permissions
- Inherited permission
- Create/Update/Delete operations and tasks
- Assign/Revoke operations and tasks to/from roles
- Manage Operations
- Manage Tasks
- Support for Business rules (and Data)
- Automatic controller access control
- Cross-browser and cross-database compatibility
The project can be found on Google Code and in the Yii extension library:
It shouldn't take more than a few minutes to set up the module so give it a try if you need a solid interface for your application's access control.
And here's some fresh screenshots of the current interface:
No downloads are available at this time but it's possible to do a checkout from Google Code:
Download will be available with the version 1.0 is release.
I've done basic testing but I haven't had time to do extensive testing yet so use the module at your own risk. If you find bugs or have good ideas on how to improve this module please leave a comment.
It would be nice if people that are interested in authorization management would take a look and tell what they like and dislike or what could be done better.
Thank you for reading.