phpGACL
Generic Access Control List
Mike Benoit <ipso@snappymail.ca>
James Russell <james-phpgacl@ps2-pro.com>
Karsten Dambekalns <k.dambekalns@fishfarm.de>
Copyright © 2002,2003, Mike Benoit
Copyright © 2003, James Russell
Copyright © 2003, Karsten Dambekalns
Document Version: 42
Last Updated: 5/20/03 - 18:55:08
Table of Contents
Table of Contents...............................................................................................................2
About..................................................................................................................................5
What is it?.......................................................................................................................5
Where can I get it?
.........................................................................................................5
What do I need to run it?...............................................................................................5
Who is responsible for it?..............................................................................................5
Introduction........................................................................................................................6
Understanding Access Control......................................................................................6
Who/Where
................................................................................................................6
Who/Where................................................................................................................7
Defining access control with phpGACL.......................................................................7
Fine-grain access control...............................................................................................8
Multi-level Groups.........................................................................................................9
How does phpGACL determine permissions?.............................................................9
Adding groups..............................................................................................................11
Adding people..............................................................................................................11
Resolving conflicts......................................................................................................12
Naming Access Objects...............................................................................................13
Adding Sections...........................................................................................................14
Multiple Purposes........................................................................................................15
Access eXtension Objects...........................................................................................15
Installation........................................................................................................................18
Basic setup...................................................................................................................18
Advanced setup............................................................................................................20
Using phpGACL in your application..............................................................................21
Basic usage
...................................................................................................................21
Advanced usage...........................................................................................................21
Using the ACL admin utility...........................................................................................22
API Reference..................................................................................................................23
ACL..............................................................................................................................23
add_acl()...................................................................................................................23
edit_acl()..................................................................................................................23
del_acl()
....................................................................................................................24
Groups .........................................................................................................................24
get_group_id()..........................................................................................................24
get_group_parent_id().............................................................................................24
add_group()..............................................................................................................24
get_group_objects()
.................................................................................................25
add_group_object()..................................................................................................25
del_group_object()...................................................................................................25
edit_group()..............................................................................................................26
del_group()...............................................................................................................26
Access Objects (ARO/ACO/AXO).............................................................................26
get_object()..............................................................................................................26
get_object_data().....................................................................................................27
get_object_id().........................................................................................................27
get_object_section_value().....................................................................................27
add_object().............................................................................................................27
edit_object().............................................................................................................28
del_object()..............................................................................................................28
Access Object Sections................................................................................................29
get_object_section_section_id().............................................................................29
add_object_section..................................................................................................29
edit_object_section()...............................................................................................30
del_object_section().................................................................................................30
FAQ..................................................................................................................................31
About
What is it?
phpGACL is an set of functions that allows you to apply access control to arbitrary objects
(web pages, databases, etc) by other arbitrary objects (users, remote hosts, etc).
It offers fine-grained access control with simple management, and is very fast.
It is written in PHP (hence phpGACL), a popular scripting language that is commonly used to
dynamically create web pages. The GACL part of phpGACL stands for Generic Access
Control List.
Where can I get it?
phpGACL is hosted by sourceforge.net at
http://phpGACL.sourceforge.net/
What do I need to run it?
phpGACL requires a relational database to store the access control information. It accesses
this database via an abstract wrapper called ADOdb. This is compatible with databases such
as PostgreSQL, MySQL and Oracle.
phpGACL is written in the PHP scripting language. It requires PHP 4.2 and above.
Access Control List administration is performed by a web interface, and therefore it is
necessary to have a web server with PHP support, such as Apache.
Who is responsible for it?
Mike Benoit <ipso@snappymail.ca> is the author and project manager.
James Russell <james-phpgacl@ps2-pro.com> and Karsten Dambekalns
<k.dambekalns@fishfarm.de> did the documentation.
- 1
- 2
前往页