[Zope] changing permissions on classes/methods at runtime?
Thierry Florac
thierry.florac at onf.fr
Fri Mar 2 09:29:05 UTC 2012
Hi,
Le Wed, 29 Feb 2012 15:12:37 +0100,
Jürgen Herrmann <Juergen.Herrmann at XLhost.de> a écrit:
> is it possible to change permissions and roles on classes/methods
> at runtime? normally you'd attach security declarations inline in
> your class definition code:
>
> from AccessControl import ClassSecurityInfo
> from AccessControl.class_init import InitializeClass
> class Cls():
> security = ClassSecurityInfo()
> security.declarePrivate('foo')
> def foo(self):
> pass
> InitializeClass(Cls)
>
>
> now what i tried at runtime is:
>
> from mycode import Cls
> from AccessControl import ClassSecurityInfo
> security = ClassSecurityInfo()
> security.declarePublic('foo')
> security.apply(Cls)
>
> but this does not what i want it to, in fact it doesn't seem
> to do anything yet - probably because i'm using the wrong way :)
>
> any hints how to do this correctly would be greatly appreciated.
>
> thank you very much in advance and best regards,
The way I handle this kind of problem is:
- declare me method as protected, with a specific permission
- grant this permission to roles or users (which can be "anybody")
according to your context.
Best regards,
Thierry
--
Chef de projets internet/intranet
Office National des Forêts
Direction des Systèmes d'Information
2, Avenue de Saint Mandé
75570 PARIS Cedex 12
Tél. : 01 40 19 59 64
Fax. : 01 40 19 59 85
Mél. : thierry.florac at onf.fr
WWW : http://www.onf.fr
More information about the Zope
mailing list