I never thought about the need to actually create path expressions for user
groups, so it is not there.I would be grateful for a testable patch that
added this functionality.

On Wed, Nov 12, 2008 at 12:50 AM, Taco <[EMAIL PROTECTED]> wrote:

>
> Dear developers,
>
> I started experimenting with Rhino.Security (following the post on
> http://bartreyserhove.blogspot.com/) and wondered how to achieve the
> following.
>
> I read that operations are written as /A/B/C and that the ancestors /A
> and /A/B are created automatically when using the
> authRepos.CreateOperation() method.
> I found this is not implemented the same way for usersGroups:
> authRepos.CreateUsersGroup("/D/E/F") creates a single group and not
> three nested groups.
>
> In my scenario I wish to add a new user to the group Managers of Dept2
> of BranchB:
>   -BranchA
>   --Managers
>   --Assistants
>   -BranchB
>   --Dept1
>   ----Assistants
>   ----Managers
>   --Dept2
>   ----Developers
>   ----Managers
>
> And the way I imagined it would work:
>   // The user is already persisted and now retrieved from the
> repository.
>   var myUser = (IUser)Repository<User>.Get(uid);
>
>   // No idea how to query the usersGroup, but I would like
>   // to use the string /BranchB/Dept2/Managers
>   var group = /* mystery */
>
>   // And finally associate the user with the group.
>   var authRepos = container.Resolve<IAuthorizationRepository>();
>   authRepos.AssociateUserWith(myUser, group);
>
> Of course I could do something like:
>   authRepos.CreateUsersGroup("/BranchB");
>   UnitOfWork.Current.TransactionalFlush();
>   authRepos.CreateChildUserGroupOf("/BranchB", "/BranchB/Dept2");
>   UnitOfWork.Current.TransactionalFlush();
>   authRepos.CreateChildUserGroupOf("/BranchB/Dept2", "/BranchB/Dept2/
> Managers");
>   UnitOfWork.Current.TransactionalFlush();
>
> And then when I need to present the group I can split on the slash and
> show only the last part. But if BranchB gets a new name I have to
> update all the names of all children, too, and that is unwanted
> behavior.
>
> A nicer solution would be to retrieve the usersGroup from the
> repository by using the string /BranchB/Dept2/Managers, via
> Repository<UsersGroup> or via IAuthorizationRepository (currently not
> supported). Is something like that possible?
>
> Thank you in advance for your tips.
>
> With kind regards,
> Taco Ditiecher.
>
>
>
>
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Rhino Tools Dev" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/rhino-tools-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to