Re: [phpwslistings-dev] agent active flag
Brought to you by:
rizzo,
wendall911
From: <ad...@tu...> - 2003-03-24 19:46:00
|
I might have to think about it a bit more but I would probably try using the variable name in setUserVar to designate and check class permissions. Ex: $_SESSION["OBJ_users"]->setUserVar("PHPWS_LISTINGS_" . $class_name, 3); The PHPWS_LISTINGS_ is to make sure your variable is unique among all the user variables and the $class_name is the name of the class whos permissions you are setting up. You would check the variable the same way and if nothing exists at PHPWS_LISTINGS_ . $class_name then the user does not have access to that class. Adam > Masking makes my jeans creamy. > > How would you assign class-specific permissions? > > I have been meaning to consolidate some of the module_rights. > > Don. > > On Mon, 24 Mar 2003 ad...@tu... wrote: > >> OK I may miss some things here because I'm not a real estate agent and I >> don't know all the ins and outs of what needs to happen there. On the >> other hand I've been looking at the system with more than real estate in >> mind and so I'm trying to be as abstract as possible. >> >> If a user is given base access to the phpwslistings module, they are >> considered an "agent". A "broker" is designated with a single >> sub-permisssion. If the broker permission is set for a user, they get >> total access to the module almost like a deity (without access to all >> other modules of course). Then you could add several other permissions >> that are for refining an agents access to the system. These permissions >> would be bypassed in the case of a broker. >> >> module_rights.txt: >> >> is_broker::User is a Broker >> add_listing::Add Listings >> delete_listing::Remove Listing >> view_sold::View Sold Listings >> >> This method would work for most situations but then you get into the >> mess >> of handling multiple "dynamic" classes and controling agent and broker >> permissions within each class. To best handle a situation like that you >> would need limited user of the phpws user module and would need to >> implement your own layer of permissions into the phpwslistings module >> itself. >> >> If a user is given base access to the phpwslistings module, they are >> considered an agent with no permissions (yet). Then with a single >> sub-permission you could designate a user as a broker. >> >> module_rights.txt: >> >> is_broker::User is a Broker >> >> Then, within phpwslistings, a broker can view and edit the permissions >> of >> agents and assign them to classes if they wish. It should be possible >> to >> use the setUserVar and getUserVar functions to make this easier on the >> developer. For storage of those permissions I would suggest using >> masking >> of bits for speed and limited memory usage. I actually suggested that >> for >> the phpws user module but Matt didn't know what I meant :) >> >> For each agent they would have a userVar called something like >> phpwslistings_perms. This would simply be an integer number that >> represents the permissions of that particular agent. Lets say we have 3 >> permissions, add listing, delete listing, and view sold listings. If we >> represent each of these in binary they would look something like this: >> >> 001 = add listing >> 010 = delete listing >> 100 = view sold listings >> 011 = add and delete listings >> 111 = full access to the system - broker only functions >> >> Then you could define masks like: >> >> PHPWSLISTINGS_ADD_MASK = 001; >> PHPWSLISTINGS_DELETE_MASK = 010; >> PHPWSLISTINGS_SOLD_MASK = 100; >> >> "AND" those with the users stored variable and you will get a boolean >> TRUE/FALSE as to whether or not the agent has access to that permission: >> >> $add_check = $_SESSION["OBJ_user"]->getUserVar("phpwslistings_perms") & >> PHPWSLISTINGS_ADD_MASK; >> >> if($add_check) { >> ...do add... >> } else { >> ...doesnt have permission... >> } >> >> That probably a lot to take in. Let me know if anything was unclear as >> I >> tend to ramble on :) >> >> Adam >> >> > Adam, >> > >> >> I would suggest not using a phpws user as an agent and just associate >> an >> >> agent with a phpws user account. This way you can accomplish the >> >> permissioning goals you have set down and if the admin of the website >> >> wants to allow public users to have accounts on the site for various >> >> reasons (personal house listings, remembered settings, etc) you don't >> >> want >> >> them to have "agent status" in the phpwslistings system. I can say >> more >> >> here but I will refrain for now to hear your thoughts on what I've >> >> written >> >> so far. >> > >> > Sounds intersting. I think I understand your concept but would like >> you >> > to >> > elaborate some more if you would. >> > >> > >> > Mike Windsor >> > >> > >> > >> > >> > ------------------------------------------------------- >> > This SF.net email is sponsored by: Tablet PC. >> > Does your code think in ink? You could win a Tablet PC. >> > Get a free Tablet PC hat just for playing. What are you waiting for? >> > http://ads.sourceforge.net/cgi-bin/redirect.pl?micr5043en >> > _______________________________________________ >> > phpwslistings-developers mailing list >> > php...@li... >> > https://lists.sourceforge.net/lists/listinfo/phpwslistings-developers >> > >> >> >> > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > phpwslistings-developers mailing list > php...@li... > https://lists.sourceforge.net/lists/listinfo/phpwslistings-developers > -- Adam Morton Developer - Electronic Student Services http://phpwebsite.appstate.edu Founder - Appalachian Linux Users Group http://alug.appstate.edu |