Welcome Guest, Not a member yet? Register   Sign In
Khaos :: KhACL
#42

[eluser]lightnb[/eluser]
Hi all,

So I'm trying to figure out how this works in the real world, and I'm a bit confused.

Let's say I have a site with a forum and an article publishing system, and a single user/login system for both.

I would create users like this?:

Code:
/* Setup Users
************************/

// Add Superman and Wonderwoman to the "Administrators" group
$this->khacl->aro->create('Superman', 'Administrators');
$this->khacl->aro->create('WonderWoman', 'Administrators');

// Add Bob and Joe to the "Moderators" group
$this->khacl->aro->create('Bob', 'Moderators');
$this->khacl->aro->create('Joe', 'Moderators');

// Add Tom and Steve to the "Publishers" group
$this->khacl->aro->create('Tom', 'Publisher');
$this->khacl->aro->create('Steve', 'Publisher');

// Create a "Public" user that will be used for unregistered site users...
$this->khacl->aro->create('PublicUser', 'PublicGroup');


And then create a list of actions:
Code:
/* Define actions that site users might perform
****************************************************/

// Actions for the forums
$this->khacl->axo->create('DeleteOwnForumPosts');
$this->khacl->axo->create('DeleteOthersForumPosts');
$this->khacl->axo->create('EditOwnForumPosts');
$this->khacl->axo->create('EditOthersForumPosts');

// Actions for Article Publishing
$this->khacl->axo->create('PublishArticles');
$this->khacl->axo->create('ReadArticles');
$this->khacl->axo->create('CommentOnArticles');

And then Assign users and groups to actions:
Code:
/* Assign permissions to users and groups
****************************************************/

// "Administrators" can perform every action
$this->khacl->allow('Administrators', 'DeleteOwnForumPosts');
$this->khacl->allow('Administrators', 'DeleteOthersForumPosts');
$this->khacl->allow('Administrators', 'EditOwnForumPosts');
$this->khacl->allow('Administrators', 'EditOthersForumPosts');
$this->khacl->allow('Administrators', 'PublishArticles');
$this->khacl->allow('Administrators', 'ReadArticles');
$this->khacl->allow('Administrators', 'CommentOnArticles');

// except "WonderWoman". She can't delete other's posts
$this->khacl->allow('WonderWoman', 'DeleteOthersForumPosts'); // Can I do this to an individual user?

// Moderators can do everything except 'publish articles' and 'delete other's forum posts'
$this->khacl->allow('Moderators', 'DeleteOwnForumPosts');
$this->khacl->allow('Moderators', 'EditOwnForumPosts');
$this->khacl->allow('Moderators', 'EditOthersForumPosts');
$this->khacl->allow('Moderators', 'ReadArticles');
$this->khacl->allow('Moderators', 'CommentOnArticles');

// except "Bob" can 'delete other's posts', cus he's cool ;)
$this->khacl->allow('Bob', 'DeleteOthersForumPosts');

// Publishers can publish articles, and can also edit thier own posts
$this->khacl->allow('Publisher', 'EditOwnForumPosts');
$this->khacl->allow('Publisher', 'PublishArticles');
$this->khacl->allow('Publisher', 'ReadArticles');
$this->khacl->allow('Publisher', 'CommentOnArticles');

// All site users can read articles
$this->khacl->allow('PublicGroup', 'ReadArticles');

Are the above assumptions correct?

But what is the purpose of the ACO then? Would "Forums" and "Articles" be the ACOs?

Second, how would this apply to individual sections, such as forum categories? Let's say Bob can only Edit and Delete posts in the "Birds" Forum category, while "Joe" can only moderate the "Mammals" forum?

Third, how do IDs play into this? Do I just replace the groups and names in the above examples with their appropriate MySQL UIDs instead?


Messages In This Thread
Khaos :: KhACL - by El Forum - 01-29-2008, 10:49 AM
Khaos :: KhACL - by El Forum - 01-29-2008, 11:42 AM
Khaos :: KhACL - by El Forum - 01-29-2008, 12:35 PM
Khaos :: KhACL - by El Forum - 01-30-2008, 07:10 AM
Khaos :: KhACL - by El Forum - 01-30-2008, 05:11 PM
Khaos :: KhACL - by El Forum - 01-30-2008, 08:17 PM
Khaos :: KhACL - by El Forum - 01-31-2008, 03:49 AM
Khaos :: KhACL - by El Forum - 01-31-2008, 09:14 AM
Khaos :: KhACL - by El Forum - 01-31-2008, 10:03 AM
Khaos :: KhACL - by El Forum - 01-31-2008, 10:33 AM
Khaos :: KhACL - by El Forum - 01-31-2008, 10:39 AM
Khaos :: KhACL - by El Forum - 01-31-2008, 10:50 AM
Khaos :: KhACL - by El Forum - 01-31-2008, 03:14 PM
Khaos :: KhACL - by El Forum - 02-03-2008, 11:00 AM
Khaos :: KhACL - by El Forum - 02-03-2008, 01:35 PM
Khaos :: KhACL - by El Forum - 02-04-2008, 12:22 PM
Khaos :: KhACL - by El Forum - 02-05-2008, 03:45 AM
Khaos :: KhACL - by El Forum - 02-25-2008, 12:42 PM
Khaos :: KhACL - by El Forum - 02-25-2008, 01:16 PM
Khaos :: KhACL - by El Forum - 02-25-2008, 02:53 PM
Khaos :: KhACL - by El Forum - 02-25-2008, 02:59 PM
Khaos :: KhACL - by El Forum - 02-25-2008, 03:55 PM
Khaos :: KhACL - by El Forum - 02-25-2008, 04:03 PM
Khaos :: KhACL - by El Forum - 02-29-2008, 09:56 AM
Khaos :: KhACL - by El Forum - 03-02-2008, 06:23 AM
Khaos :: KhACL - by El Forum - 03-02-2008, 07:03 AM
Khaos :: KhACL - by El Forum - 03-02-2008, 07:28 AM
Khaos :: KhACL - by El Forum - 03-02-2008, 07:34 AM
Khaos :: KhACL - by El Forum - 03-02-2008, 07:44 AM
Khaos :: KhACL - by El Forum - 03-02-2008, 08:05 AM
Khaos :: KhACL - by El Forum - 03-02-2008, 08:20 AM
Khaos :: KhACL - by El Forum - 03-02-2008, 09:06 AM
Khaos :: KhACL - by El Forum - 03-02-2008, 09:12 AM
Khaos :: KhACL - by El Forum - 03-02-2008, 09:19 AM
Khaos :: KhACL - by El Forum - 03-02-2008, 09:26 AM
Khaos :: KhACL - by El Forum - 03-02-2008, 09:46 AM
Khaos :: KhACL - by El Forum - 03-02-2008, 10:47 AM
Khaos :: KhACL - by El Forum - 03-08-2008, 05:37 PM
Khaos :: KhACL - by El Forum - 03-09-2008, 10:22 AM
Khaos :: KhACL - by El Forum - 03-09-2008, 10:24 AM
Khaos :: KhACL - by El Forum - 03-09-2008, 12:21 PM
Khaos :: KhACL - by El Forum - 03-20-2008, 05:25 AM
Khaos :: KhACL - by El Forum - 03-20-2008, 06:14 AM
Khaos :: KhACL - by El Forum - 03-20-2008, 07:08 AM
Khaos :: KhACL - by El Forum - 03-20-2008, 07:42 AM
Khaos :: KhACL - by El Forum - 03-20-2008, 11:31 AM
Khaos :: KhACL - by El Forum - 03-20-2008, 11:40 AM
Khaos :: KhACL - by El Forum - 03-21-2008, 05:16 AM
Khaos :: KhACL - by El Forum - 03-21-2008, 05:25 AM
Khaos :: KhACL - by El Forum - 03-21-2008, 07:54 AM
Khaos :: KhACL - by El Forum - 03-21-2008, 08:31 AM
Khaos :: KhACL - by El Forum - 03-21-2008, 12:35 PM
Khaos :: KhACL - by El Forum - 03-21-2008, 12:38 PM
Khaos :: KhACL - by El Forum - 03-21-2008, 01:28 PM
Khaos :: KhACL - by El Forum - 03-21-2008, 01:33 PM
Khaos :: KhACL - by El Forum - 03-21-2008, 03:18 PM
Khaos :: KhACL - by El Forum - 03-21-2008, 06:37 PM
Khaos :: KhACL - by El Forum - 03-26-2008, 05:13 AM
Khaos :: KhACL - by El Forum - 03-28-2008, 02:16 AM
Khaos :: KhACL - by El Forum - 03-30-2008, 02:17 AM
Khaos :: KhACL - by El Forum - 03-30-2008, 04:07 AM
Khaos :: KhACL - by El Forum - 03-30-2008, 04:26 AM
Khaos :: KhACL - by El Forum - 03-30-2008, 05:32 AM
Khaos :: KhACL - by El Forum - 03-30-2008, 06:28 AM
Khaos :: KhACL - by El Forum - 03-30-2008, 09:36 AM
Khaos :: KhACL - by El Forum - 03-30-2008, 10:23 AM
Khaos :: KhACL - by El Forum - 03-30-2008, 10:25 PM
Khaos :: KhACL - by El Forum - 03-31-2008, 02:59 AM
Khaos :: KhACL - by El Forum - 03-31-2008, 03:20 AM
Khaos :: KhACL - by El Forum - 03-31-2008, 06:43 AM
Khaos :: KhACL - by El Forum - 04-11-2008, 11:33 AM
Khaos :: KhACL - by El Forum - 04-11-2008, 11:48 AM
Khaos :: KhACL - by El Forum - 04-12-2008, 02:17 AM
Khaos :: KhACL - by El Forum - 04-14-2008, 02:32 AM
Khaos :: KhACL - by El Forum - 04-14-2008, 11:11 AM
Khaos :: KhACL - by El Forum - 05-02-2008, 01:04 AM
Khaos :: KhACL - by El Forum - 05-02-2008, 02:05 AM
Khaos :: KhACL - by El Forum - 05-19-2008, 05:01 PM
Khaos :: KhACL - by El Forum - 05-19-2008, 05:31 PM
Khaos :: KhACL - by El Forum - 05-19-2008, 05:40 PM
Khaos :: KhACL - by El Forum - 06-09-2008, 10:26 AM
Khaos :: KhACL - by El Forum - 06-17-2008, 02:31 PM
Khaos :: KhACL - by El Forum - 06-17-2008, 02:33 PM
Khaos :: KhACL - by El Forum - 06-25-2008, 09:43 AM
Khaos :: KhACL - by El Forum - 06-25-2008, 09:44 AM
Khaos :: KhACL - by El Forum - 06-26-2008, 06:54 AM
Khaos :: KhACL - by El Forum - 07-24-2008, 11:29 PM
Khaos :: KhACL - by El Forum - 07-27-2008, 06:06 PM
Khaos :: KhACL - by El Forum - 09-09-2008, 03:51 PM
Khaos :: KhACL - by El Forum - 05-06-2009, 03:18 AM
Khaos :: KhACL - by El Forum - 06-16-2009, 03:35 AM
Khaos :: KhACL - by El Forum - 07-24-2009, 12:48 AM
Khaos :: KhACL - by El Forum - 11-02-2010, 06:18 AM



Theme © iAndrew 2016 - Forum software by © MyBB