Hi, Is there a general way make an adapter 'inherit' annotated security permissions from the object it adapted?
Some more information: I've got an adapter IMyInterface->IAnnotatable. It's registered like this: <adapter for="mpgsite.workflow.interfaces.IAnnotatable" factory=".annotatableadapter.MyAdapter" provides=".interfaces.IMyInterface" trusted="true" /> <class class=".annotatableadapter.MyAdapter> <require permission="zope.ManageContent" interface=".interfaces.IMyInterface" /> </class> Usually no user has 'zope.ManageContent' permission on anything. I applied annotated security permissions on a single content object to provide 'johndoe' with zope.manageContent permission for just this single object: from zope.app.securitypolicy.interfaces import IPrincipalPermissionManager perms=IPrincipalPermissionManager(self.context) perms.grantPermissionToPrincipal('zope.ManageContent','johndoe') 'johndoe' is now able to i.e. call views like: <page name="test.html" for=".interfaces.IMyObject" permission="zope.ManageContent" /> on this object. The object has an addition view: class MyView(BrowserView): def __call__(self): adapter=IMyInterface(self.context) adapter.method() 'method' is a method defined in IMyInterface but 'johndoe' is unable to successfully call MyView - adapter.method() raises an Unauthorized exception. Regards, Frank _______________________________________________ Zope3-users mailing list Zope3-users@zope.org http://mail.zope.org/mailman/listinfo/zope3-users