hmmmkay,
I tried the bitOr function like so:
permissions = structNew();
permissions.admforumList = 1;
permissions.admaddForum = 2;
permissions.admeditForum = 4;
permissions.admsaveForum = 8;
permissions.admdeleteforum = 16;
permissions.forumList = 32;
permissions.threadlist = 64;
permissions.viewthread = 128;
permissions.addthread = 256;
permissions.editThread = 512;
permissions.saveThread = 1024;
permissions.deleteThread = 2048;
permissions.addMessage = 4096;
permissions.editMessage = 8192;
permissions.saveMessage = 16384;
permissions.deleteMessage = 32768;
permissions.anonGroup = permissions.forumList + permissions.threadList +
permissions.viewThread;
temp = permissions.addthread + permissions.saveThread +
permissions.addMessage + permissions.editMessage + permissions.saveMessage;
permissions.userGroup = bitOr(permissions.anonGroup,temp);
temp2 = permissions.admforumList + permissions.admaddForum +
permissions.admeditForum + permissions.admsaveForum + permissions.admdeleteForum +
permissions.editThread + permissions.deleteThread + permissions.deleteMessage;
permissions.adminGroup = bitOr(permissions.userGroup,temp2);
but the values end up identical to what they where when I was just
adding them together? Do I need sleep?
Toby
Thursday, April 04, 2002, 5:02:00 PM, you wrote:
hh> John is in rare form today, first urging people to add code to their
hh> prototypes and now suggesting that we abandon Bit math because it's too
hh> much effort? I suspect someone has kidnapped my friend, John, and is
hh> making him type these crazy things.
hh> First to answer your question, the only problem you're having is that
hh> you're effectively trying to add usergroups together. Nothing wrong with
hh> that, but you need to use BitOr(). Example:
hh> <cfset read = 1>
hh> <cfset delete = 2>
hh> <cfset edit = 4>
hh> <cfset create = 8>
hh> <cfset archive = 16>
hh> <cfset download = 32>
hh> <cfset clone = 64>
hh> <cfset groupA = read + edit + create>
hh> <cfset groupB = read + create + clone>
hh> <cfset hal = BitOr( groupA, groupB )>
hh> <cfoutput>
hh> #BitAnd( hal, delete )#
hh> </cfoutput>
hh> will return 0.
hh> Personally, I think the cf_secure tag is clearer and a heck of a lot
hh> nicer than dragging around an interminably long list of text, but that's
hh> just my opinion.
hh> -----Original Message-----
hh> From: John Quarto-vonTivadar [mailto:[EMAIL PROTECTED]]
hh> Sent: Thursday, April 04, 2002 1:29 AM
hh> To: [EMAIL PROTECTED]
hh> Subject: Re: secure tag and permissions
hh> why not just get away from the bitwise permissions...? that is one of
hh> those things that sounds really great, and then in the end I'm not
hh> convinced delivers anything worth the effort (as opposed to a
hh> textual-based permission codes like "AdminForumList, AdminAddForum" etc.
hh> sure the math looks kewler, but i find it just as useful to be able to
hh> look at a list of English permission words and say "hey is this
hh> permission in the list?"
hh> "Brooklyn, NY" versus "11222-4401". Yes, the second has more precise
hh> information. But ask someone from Esland which one is easier to find on
hh> a map, and I bet the first one generates a faster associative memory
hh> link.
hh> as for your actual question: what happens if the User group has a
hh> permission that Anon group already has? aren't you then adding it twice?
hh> (see what I mean? I'd find it a hell of a lot easier to debug to just
hh> ask "hey are these permissions in the list?")
hh> ----- Original Message -----
hh> From: "Toby Tremayne" <[EMAIL PROTECTED]>
hh> To: <[EMAIL PROTECTED]>
hh> Sent: Thursday, April 04, 2002 1:02 AM
hh> Subject: secure tag and permissions
hh> This has got me stumped. I thought I'd grokked the bit permissions
hh> system, but I must be wrong - this is my permissions file:
hh> permissions = structNew();
hh> permissions.admforumList = 1;
hh> permissions.admaddForum = 2;
hh> permissions.admeditForum = 4;
hh> permissions.admsaveForum = 8;
hh> permissions.admdeleteforum = 16;
hh> permissions.forumList = 32;
hh> permissions.threadlist = 64;
hh> permissions.viewthread = 128;
hh> permissions.addthread = 256;
hh> permissions.editThread = 512;
hh> permissions.saveThread = 1024;
hh> permissions.deleteThread = 2048;
hh> permissions.addMessage = 4096;
hh> permissions.editMessage = 8192;
hh> permissions.saveMessage = 16384;
hh> permissions.deleteMessage = 32768;
hh> permissions.anonGroup = permissions.forumList +
hh> permissions.threadList + permissions.viewThread;
hh> permissions.userGroup = permissions.addthread +
hh> permissions.saveThread + permissions.addMessage +
hh> permissions.editMessage + permissions.saveMessage +
hh> permissions.anonGroup;
hh> permissions.adminGroup = permissions.admforumList +
hh> permissions.admaddForum + permissions.admeditForum +
hh> permissions.admsaveForum + permissions.admdeleteForum +
hh> permissions.editThread + permissions.deleteThread +
hh> permissions.deleteMessage + permissions.userGroup;
hh> all well and good. But if I use the secure tag thus:
hh> requiredPermission="#permissions.userGroup#"
hh> userPermissions="#permissions.anonGroup#"
hh> it returns true! how can that be? Could someone please draw me a
hh> picture because I'm obviously not getting it...
hh> Toby
hh> ------------------------------------------------------------------------
hh> ----
hh> --------
hh> Life is Poetry, write it in your own words
hh> ------------------------------------------------------------------------
hh> ----
hh> --------
hh> Toby Tremayne
hh> Senior Technical Consultant
hh> Code Poet and Zen Master of the Heavy Sleep
hh> Lyricist Software
hh> www.lyricist.com.au
hh> m: +61 416 048 090
hh> icq: 13107913
------------------------------------------------------------------------------------
Life is Poetry, write it in your own words
------------------------------------------------------------------------------------
Toby Tremayne
Senior Technical Consultant
Code Poet and Zen Master of the Heavy Sleep
Lyricist Software
www.lyricist.com.au
m: +61 416 048 090
icq: 13107913
==^================================================================
This email was sent to: [email protected]
EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrFMa.bV0Kx9
Or send an email to: [EMAIL PROTECTED]
T O P I C A -- Register now to manage your mail!
http://www.topica.com/partner/tag02/register
==^================================================================