Hi,

I don't think you can achieve that by Catalyst::Plugin::Authorization but 
please correct me if I am wrong.

On a side note though, I also had an idea that is similar to yours some time 
ago, but I scrapped it because the number of records in
users_pages_roles tables will increase exponentially as the number of users and 
pages increase.
I wonder how the sharing function is implemented in Google Docs though.

Sindharta

jakac <[EMAIL PROTECTED]> wrote:     Hello!
 
 I am new to Catalyst and I am developing my first web application using this 
really
 great framework. I really like the way Catalyst allows me to build my 
application but
 now I have a problem which I can not resolve by myself.
 
 I studied the tutorial and I understand the whole concept of "role based" 
authorization
 where we have three tables:
 
 - users (list of users with primary key user_id)
 - roles (list of roles with primary key role_id)
 - users_roles (with user_id - role_id relations)
 
 but for my application I need a bit more advanced system than that because 
every
 user has also multiple pages and different roles for each page (he can edit 
some,
 only view the others etc.). One user has different permissions for each of the 
pages and
 also more users have access (and different permissions) to the same page.
 So I need 4 tables:
 
 - users (list of users with primary key user_id)
 - roles (list of roles with primary key role_id)
 - pages (list of pages with primary key page_id)
 - users_pages_roles (with user_id - page_id - role_id relations)
 
 e.g.:
 user1 | page1 | edit
 user1 | page2 | edit
 user2 | page2 | view
 user3 | page1 | edit
 user3 | page2 | view
 etc.
 
 How can I make this kind of authorization using Catalyst? How to build a model
 and configure "roles" plugin?
 
 Also with simple role based system I can check if user has permission to use 
that part
 of application using:
  
$c->assert_user_roles( qw/rolename/ );
 What about with this kind of "advanced" authorization?
 
 Thank you all!
 
 JakaC.
 
 _______________________________________________
List: [email protected]
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/[email protected]/
Dev site: http://dev.catalyst.perl.org/

 

 
---------------------------------
GANBARE! NIPPON! Win your ticket to Olympic Games 2008.
_______________________________________________
List: [email protected]
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/[email protected]/
Dev site: http://dev.catalyst.perl.org/

Reply via email to