Security Deklarationen greifen nicht.
Peter Zechmeister <[email protected]>
| Newsgroups | gmane.comp.web.zope.german |
|---|---|
| Message-ID | <1305203888.19995.59.camel@pze> |
Hallo Liste,
Frage zu Security Deklarationen.
Haupt.py...:
[...]
from AccessControl import ClassSecurityInfo, getSecurityManager
[...]
from Erweiterung import Erweiterungsklasse
class Hauptklasse(Implicit, Persistent, RoleManager, Item,
Erweiterungsklasse):
security=ClassSecurityInfo()
security.declarePrivate('test1')
def test1(self):
"""Blabla
"""
return "TEST"
Erweiterung.py...:
[...]
from AccessControl import ClassSecurityInfo
[...]
class Erweiterungsklasse:
security=ClassSecurityInfo()
security.declarePrivate('test2')
def test2(self):
"""Blabla
"""
return "TEST"
Nun finde ich unter http://www.abc.at/def/ghi/Objekt eine Instanz von
Hauptklasse.
Demgemäß liefert mir
http://www.abc.at/def/ghi/Objekt/test1
erwartungsgemäß einen Fehler, da die Funktion ja "Private" ist.
Jedoch bekomme ich mit
http://www.abc.at/def/ghi/Objekt/test2
TEST zurück.
Hier würde ich mir aber das selbe Verhalten wie vorher erwarten.
Wenn ich die Zeile security.declarePrivate('test2') aber aus der
Erweiterungsklasse in die Hauptklasse verschiebe, funktioniert es
richtig.
Anscheinend sollte ich nicht in beiden Klassen ClassSecurityInfo
verwenden.
Was muss ich tun, dass ich die Security-Deklarationen aber in der
Erweiterungsklasse bei der jeweiligen Funktion lassen kann?
Zope 2.11.2-final, python 2.4.6, linux2
BGrü
PeterZ
_______________________________________________
zope mailing list
[email protected]
https://mail.dzug.org/mailman/listinfo/zope