[Grok-dev] remove roles vom principal
Sebastian Ware
sebastian at urbantalk.se
Tue Sep 23 07:28:52 EDT 2008
There is something called:
def unsetRoleForPrincipal(role_id, principal_id):
"""Unset the role for the principal."""
I don't know if it is available in the code below, but you could try.
The general way to learn more about how different components work is
really to look at the source code. Go to your egg-folder and find the
folder
zope.securitypolicy
You will get many hints by looking at the different tests and
doctests. Examining the interfaces and actual code is quite useful too.
Mvh Sebastian
23 sep 2008 kl. 12.07 skrev Jens Adner:
> Hello,
>
> I did assign three roles to my ldap principal, and remove two of them
> later again:
>
> [(u'mysite.Member', PermissionSetting: Deny), (u'mysite.Member3',
> PermissionSetting: Deny), (u'mysite.Member2', PermissionSetting:
> Allow)]
>
> I do this by removing all roles for a principal first and assign a
> specific role to this principal in a second step.
>
> This is my code for removing:
>
> prm = IPrincipalRoleManager(app)
> ## first remove all roles from principal
> rolesForRemove=prm.getRolesForPrincipal(principal.id)
> for role in rolesForRemove:
> prm.removeRoleFromPrincipal(role[0],principal.id)
>
> My question is, how can I remove these roles forever, the function
> above
> does not erase the roles, just setting them to "Deny".
>
> Maybe this is a feature and I did not understand it ;-)
>
> Regards,
> Jens
>
> --
> ++++++++ Jens Adner IuK-Zentrum Fachhochschule Schmalkalden +++++++++
> ++++++++ Fon: +49 3683 6889201 Fax: +49 3683 6889499 +++++++++++++++
> ++++++++ Jabber: adnus at jabber.ccc.de +++++++++++++++++++++++++++
> _______________________________________________
> Grok-dev mailing list
> Grok-dev at zope.org
> http://mail.zope.org/mailman/listinfo/grok-dev
More information about the Grok-dev
mailing list