in reply to User and Group Management
Now, considering you have these users:root --+ | +--- client page | +--- email page
Having set up a satisfactory user access 'skeleton' for your new application, using GUMs Perl interface module, verifying permissions for each user that comes to your web application is as easy as simply invoking a method of the module to verify user priviledges against any given access tree:Vlad --> Node: /root Permission: 'All' Bill --> Node: /root/client page Permission: 'View' Joe --> Node: /root/client page Permission: 'Edit', 'View' Sam --> Node: /root/email page Permission: 'All'
Of course, there are numerous other ways to structure and manage the access tree. For the most part, I leave this up to an individual developer (at my work) to do as he/she pleases. GUMS was designed to be flexible. Setting things up is relatively straightforward through a GUMS web interface (also built in Coldfusion). From my experience, I've noticed that some developers prefer to structure their access nodes to correspond to major components of their applications. Whereas others bring it one abstraction layer up... Normally, once your access tree is implemented and appropriate GUMS code is placed in your application code, managing user access to your application should be a trivial task. At work, either developers or individual application managers simply follow to my GUMS web application, which allows them to do pretty much anything. In fact, I use GUMS to protect the GUMS web application as well! ;-)use GUMS; # initialize DBI database... # you retrieve user name from a cookie or # database here... # now, veirfy permissions: my $res = GUMS::verify_user_perm( dbh => $dbh, app_name => 'client_management_tool', node_path => "/root/$app_page", user_name => $user_name, perm => 'Edit' ); unless ($res) { print "$user_name lacks 'Edit' permission to access/use this page.\ +n"; }
# Under Construction
|
|---|