Hi,

I want to know if there is any example code around JackRabbit
authorization. I am looking for code that would help in understanding
how to ascertain which user actions can be performed on which folders. 


My problem context is as follows : 

1. There are two roles - Content Uploaders and Content Approvers. 
2. Every Uploader or Approver owns a 'home' folder (similar to a home
directory).
3. Uploaders can view/add/delete files in their home folder and only
view files in other user's folders. 
4. Approvers can view/add/delete files in any folder for which they are
approvers. Just like Uploaders, they can only view files in folders for
which they are not approvers.
5. Sometimes Uploaders/Approvers can get 'rights' to folders owned by
other uploaders/approvers and this would allow them to 'add' & 'delete'
files in those folders.

What is the best practice to solve this in JackRabbit ? 


One approach here would be to have a UserId property for every node
(which is a folder). If the userId in the User object is equal to the
userId property of the node, then that user is given full rights to that
folder (essentially it is that user's home directory - s/he is the
owner). 

The node could have two more properties - 'uploaderIds' & 'approverIds'
- having a comma separated list of userIds, which tell the system who
are the 'other' Uploaders & Approvers who can access the folder APART
from the folder 'owner'.

Is this a good way to go about solving the problem ? Using
AccessManager, SimpleAccessManager which requires AMContext, Subject,
Principal, Credentials, HeirarchyManager and knowing how to create a
jaas.config sounds complicated.

Regards,
Sanjiv.

Reply via email to