Re: Security Deklarationen greifen nicht.
Andreas Jung <[email protected]>
| Newsgroups | gmane.comp.web.zope.german |
|---|---|
| Message-ID | <[email protected]> |
InitializeClass() vergessen? -aj Am 12. Mai 2011 14:38 schrieb Peter Zechmeister <[email protected]>: > 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 > _______________________________________________ zope mailing list [email protected] https://mail.dzug.org/mailman/listinfo/zope