I've written some code that programmatically adds a method to the ObjectManager class, but I want to secure my method so that not everyone can access it. How can I secure the method after the class has been registered?
Thanks,
Jeff
Hi Jeff - here's something (untested) that _should_ work: from AccessControl.SecurityInfo import ClassSecurityInfo from OFS.ObjectManager import ObjectManager # Hack ObjectManager and add security. Note that whether # this is _possible_ and whether its really a _good idea_ # are two separate things :) This may not necessarily # do what you expect in terms of protecting subclasses, # for example. def myMethod(self): return 'something' # add method to class ObjectManager.myMethod = myMethod # add security assertions. security = ClassSecurityInfo() security.declareProtected('Some permission', 'myMethod') security.apply(ObjectManager) Brian Lloyd brian@zope.com V.P. Engineering 540.361.1716 Zope Corporation http://www.zope.com