Problem - setzen von Permissions fuer eine Role im Code
Thomas Graf <[email protected]>
| Newsgroups | gmane.comp.web.zope.german |
|---|---|
| Message-ID | <[email protected]> |
Hallo Liste,
ich hoffe ihr koennt mir mit einem eigentlich recht simplen Problem
helfen.Wie setze ich eine Permission fuer eine Role in einem
zope2-Produkt im Code:
Ich habe zwei Klassen, einen "AppContainer" und einen "Workspace".
> context.registerClass(
appcontainer.AppContainer,
constructors = (
appcontainer.manage_addAppContainer,
),
permission = "Manage Site"
)
context.registerClass(
workspace.Workspace,
constructors = (
workspace.manage_addWorkspace,
),
permission= "ise.exchangeadm: Add Workspace"
)
Beim anlegen eines AppContainers soll automatisch die Permission
"ise.exchangeadm: Add Workspace" fuer eine Rolle ("Workspace Manager")
gesetzt werden.
Dies habe ich, mit Inspiration von
http://plone.org/documentation/tutorial/manipulating-plone-objects-programmatically/security-and-permission
versucht das Problem folgendermassen zu loesen:
> class AppContainer( OrderedFolder.OrderedFolder ):
"""Application container for the ISE Exchange Admin Module"""
interface.implements(IAppContainer)
meta_type="Application_Container"
def __init__(self, id):
self.id = id
self._addRole('Workspace Manager')
print self.ac_inherited_permissions(all=True)
self.manage_permission(
"ise.exchangeadm: Add Workspace",
roles=['Workspace Manager'],
acquire=[False])
Beim Anlegen eines Containers wird zunaechst die Rolle hinzugefuegt und
danach fuer die Rolle die Permission gesetzt. Beim Ausfuehren von
manage_permission wird jedoch folgende Exception geworfen:
Traceback (innermost last):
Module ZPublisher.Publish, line 119, in publish
Module ZPublisher.mapply, line 88, in mapply
Module ZPublisher.Publish, line 42, in call_object
Module ise.exchangeadm.appcontainer, line 38, in manage_addAppContainer
Module ise.exchangeadm.appcontainer, line 19, in __init__
Module AccessControl.Role, line 80, in ac_inherited_permissions
Module OFS.ObjectManager, line 259, in _subobject_permissions
AttributeError: aq_acquire
Ich nutze Zope 2.11.4,
Wie kann ich eine Permission fuer ein Role beim Anlegen eines Objektes
setzen?
Mit sonnigen Gruessen
Thomas Graf
--
Thomas Graf, B.Sc.
Commercial and technical Services
Fraunhofer-Institut für Solare Energiesysteme ISE
Heidenhofstrasse 2, 79110 Freiburg, Germany
Phone: +49(0)761/4588-5123 Fax: +49(0)761/4588-9123
[email protected]
http://www.ise.fraunhofer.de
_______________________________________________
zope mailing list
[email protected]
https://mail.dzug.org/mailman/listinfo/zope