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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.