PHP Generic Access Control List 3.3.7 review

by on

PHP Generic Access Control List is a PHP class that offers Web developers a simple, yet immensely powerful "drop in" permission syste

License: GPL (GNU General Public License)
File size: 0K
Developer: IpSo
0 stars award from

PHP Generic Access Control List is a PHP class that offers Web developers a simple, yet immensely powerful "drop in" permission system for their current Web-based applications.

Here are some key features of "PHP Generic Access Control List":
Split into two classes, and a seperate administration interface.
1. GACL class: Designed to be very small (517 lines of code including comments) and very fast, this class strictly takes care of the permission checks.
2. GACL_API class: Designed to be robust and flexible, this class takes care of creating/editing/deleting objects, groups and ACLs.
3. phpGACL Administration Interface: A set of scripts that allow for the easy administration of the entire GACL universe using only your browser.
NOT limited to typical "read/write/execute" permissions similar to some flavours of *nix
User definable "Access Control Objects" (ACO). These are objects which control what access is available to "requesters" (see below).
Several examples:
Enable - Projects
View - Projects, View Own - Projects
Edit - Projects, Edit Own - Projects
Delete - Projects, Delete Own - Projects, UnDelete - Projects, UnDelete Own - Projects
Add - Projects
System down for Maintenance
View - The letter "e" ;)
User definable "Access Request Objects" (ARO). These are objects which request access from an "Access Control Object" (above) examples would be:
IP Addresses
Browsers/Browser capabilities (JS/Flash/DHTML)
User definable "Access eXtension Objects" (AXO). These are objects which extend permissions to a 3rd layer, optionally allowing you to set fine grained permissions on each individual item in your application, or even row in your database. AXO's are often used in cases where you only want to give a user access to a specific project or contact.
Several examples:
Projects - Project ID: 3474 (Accounting Software)
Projects - Project ID: 3484 (Financial Software)
Contacts - Contact ID: 4775 John Doe
Contacts - Contact ID: 4795 John Doe
Tree based ARO/AXO Object grouping with inheritance.
Contains functionality to easily program add-ons. Examples would be for product pricing, or quantity limitations.
One function application integration: acl_check()
Simply pass this function four parameters, it doesn't get any easier!
Supports the most popular databases using the ADODB database abstraction layer. (MySQL, PostgreSQL, Oracle, MSSQL)
Complete web based administration interface.
Scalable. A real-world working version with many added layers of complexity supports over 60,000 Accounts, 200 Groups and 300 ACO's.

PHP 4.x or greater
SQL database. (MySQL 3x/4.0.15+, PostgreSQL 7.2+, Oracle 9i+, MS-SQL 2000+)

What's New in This Release:
This release contains several minor bugfixes and a fix for a major bug with del_object(), which caused transactions to abort prematurely.
It also contains a slightly improved installer with Informix support, less possibility of conflicting code with other applications, and upgraded ADODB and Smarty packages.

PHP Generic Access Control List 3.3.7 search tags