Thanks for this Ben,

I've been working on a similar principle of the groups, you're defiantly
right that it makes life easier. I've also started to work on the idea that
if a user belongs to a group, they can have additional rights granted or
indeed revoked, this gives the same level of control then as simple
permissions, but allows the ease of access that the group method does.

The database plan I'm currently working on would use an additional column in
the permission/user table which defines if it's an additional 'granted'
permission of a 'revoked' one, it's still in the early stages and might not
work how I want it too, but fingers crossed.

Thanks,

Rob

-----Original Message-----
From: Porter, Benjamin L. [mailto:[EMAIL PROTECTED] 
Sent: 24 May 2007 19:32
To: CF-Talk
Subject: RE: Granular Security Model

I prefer something similar to what James mentioned but with the addition
of groups or roles. The groups or roles would have a member table
joining them 1 group/role to many permissions. A user could have either
roles, and or permissions. If they had the role they by proxy had all
the permissions the role has. When you start to have dozens of different
permissions having roles / groups simplifies the management of them.

-----Original Message-----
From: James Holmes [mailto:[EMAIL PROTECTED] 
Sent: Thursday, May 24, 2007 6:16 AM
To: CF-Talk
Subject: Re: Granular Security Model

This could be normalised so that there is a user table, an enlitlement
table and an m:n joining table between them (user_entitlement or
similar). This way only a true (1) is indicated in the DB and you can
assume false for everything else (inlcuding when initialising the
struct in CF).


On 5/24/07, Robert Rawlins - Think Blue wrote:

> The structs method work nicely from a ColdFusion point of view, but I
felt
> the database was a little untidy as you had a separate database column
for
> each 'entitlement' which was set to 0 or 1 dependant on the
permissions,
> each user then had a row in this table. This was then stored in the
struct
> as key/value pairs with each entitlement having its one struct element
and a
> 'true' or 'false' value, you can then do something like <cfif
> Session.User.Entitlements.DeleteUser> to check if the user has that
> permission.

-- 
mxAjax / CFAjax docs and other useful articles:
http://www.bifrost.com.au/blog/





~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Upgrade to Adobe ColdFusion MX7
Experience Flex 2 & MX7 integration & create powerful cross-platform RIAs
http://www.adobe.com/products/coldfusion/flex2/?sdid=RVJQ 

Archive: 
http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:279181
Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm
Unsubscribe: 
http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4

Reply via email to