Em 24/04/08, Davi Medeiros<[EMAIL PROTECTED]> escreveu:
> Gostaria que a aba sharing não aparecesse para usuários que são
>  somente membros. Qual condição eu poderia colocar na ZMI em:
>
>  /portal_actions/object/local_roles
>
>  ?
>
>  Consigo o id do usua&#341;io com
>  python:portal.portal_membership.getAuthenticatedMember()
>
>  Mas como consigo os papéis associados a ele? Olhei o portal_membership
>  no DocFinderTab e não achei o que pudesse usar.
>
>  Agradeço,
>  Davi
>

Davi,

Você pode utilizar os métodos da classe BasicUser [1] do Zope para
obter esse tipo de informações.  Veja o seguinte exemplo:

---------------------------------------------------------------
from AccessControl import getSecurityManager
user = getSecurityManager().getUser()

print 'id - ', user.getId()
print 'roles - ', user.getRoles()
print 'roles in context - ', user.getRolesInContext(container)
print 'username - ', user.getUserName()
print 'has_permission - ', user.has_permission('View', container)
print 'has_role - ', user.has_role(('Manager', 'Member'), object=container)

return printed
---------------------------------------------------------------

Zénrique.


[1] http://www.plope.com/Books/copy_of_2_7Edition/AppendixB.stx#1-40

Responder a