[Zope-es] cambiando permisos en cascada...
Alexis Roda
alexis.roda.villalonga en gmail.com
Dom Dic 17 13:38:47 CET 2006
En/na adolfo ha escrit:
> He cambiado un permiso en un folder de zope, para evitar que tenga
> visibilidad en visitas anonimas.
> Hasta alli todo bien. Responde como es debido.
> Ahora el problemaes que yo uiero usar el mismo set de permisos en
> objetos que estan abajo de esta folder, que ya fueron creados.
> Y el problema es que todos los objeto siguen con el mismo nivel de
> visibilidad, o sea que heredaron el set de permisos cuando fueron
> creados. Esto implica que deberia cambiar los permisos en todos los
> objetos ya existentes.
> Hay manera de evitar eso?
> O en su defecto, alguien tiene un ejemplo de codigo de como cambiar
> permisos con un script? :)
Si en la pestaña 'Security' de una carpeta asignas los permisos 'View' y
'Access contents information' a unos roles concretos y desmarcas la
correspondiente casilla 'Acquire permission settings', solamente los
usuarios con esos roles podrán visualizar el contenido. Este seria el
patrón mas sencillo para proteger *todo* el contenido de una carpeta.
El problema es que si en un subobjeto redefines el permiso 'View'
entonces este subobjeto será tratado de forma diferente, dependiendo de
como este asignado el permiso puede ser visible por usuarios 'Anonymous'.
Si quieres ajustar los permisos de los subobjetos ya existentes puedes
hacer algo como:
para cada objeto ob en la carpeta :
ob.manage_permission('Access contents information', ['Manager'], 1)
ob.manage_permission('View', ['Manager'], 1)
Saludos
Más información sobre la lista de distribución Zope-es