PHP Generic Access Control List 3.3.7
PHP Generic Access Control List is a generic Access Control List class for PHP.
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.