Frage
Antwort
Der Zugriff auf Objekte oder Attribute von Objekten wird in Zope über Permissions geregelt. Wenn man für einen Zugriff keine Erlaubnis hat quittiert dies Zope normalerweise mit einer "Unauthorized" Exception. Zum Debugging ist dies jedoch nicht sehr hilfreich, weil man keine Informationen bekommt, warum man keine Erlaubnis für den Zugriff hat.
Von Shane Hathaway stammt das VerboseSecurity
Product, dass im Falle einer "Unauthorized" Exception eine bessere
Fehlermeldung ausgibt. Die Fehlermeldung enthält eine genaue Erklärung warum mein keinen Zugriff auf ein Objekt hat und welche Permissions benötigt werden.
Die Informationen werden entweder auf dem Bildschirm als Bestandteil des Tracebacks oder im Error-Log des ZMI (unter /error_log) ausgegeben. (Die obige Version von VerboseSecurity läuft
nicht mit Zope 2.7 zusammen. Eine bereinigte Version, die mit Zope 2.7 zusammenarbeitet
ist im Zope CVS zu finden. In Zope 2.8 wurde VerboseSecurity integriert und kann in etc/zope.conf durch die Direktive verbose-security on eingeschaltet werden.