[Zope-CMF] Access problem.
Ignacio Dosil Lago
idosil@ccietic.usc.es
Wed, 25 Sep 2002 12:41:01 +0200
-- I am developing a CMF "link" product which defines its own traverse method:
def __bobo_traverse__(self, request, name=None):
"Traverse method hook"
if hasattr(self, name):
# return own attributes/subobjects
return getattr(self, name)
else:
t= self.getTarget()
if hasattr(t, name):
# return target's attributes/subobjects
return getattr(t, name)
else:
return t
-- It works fine under the ZMI but when I try to access an object of this
product into a CMF portal using the CMF interface, Zope requests me login
name and password (even if I am admin!!), which it doesn't accept, so the
only way to continue is to cancel instead of triying to log in. Once I click
on the cancel button Zope throws the following error:
Site Error
An error was encountered while publishing this resource.
Unauthorized
Sorry, a site error occurred.
Traceback (innermost last):
File /home/Zope/Zope-2.5.1-linux2-x86/lib/python/ZPublisher/Publish.py, line
150, in publish_module
File
/home/Zope/Zope-2.5.1-linux2-x86/lib/python/Products/Localizer/__init__.py,
line 65, in new_publish
File /home/Zope/Zope-2.5.1-linux2-x86/lib/python/ZPublisher/Publish.py, line
114, in publish
File /home/Zope/Zope-2.5.1-linux2-x86/lib/python/Zope/__init__.py, line 159,
in zpublisher_exception_hook
(Object: Link)
File /home/Zope/Zope-2.5.1-linux2-x86/lib/python/ZPublisher/Publish.py, line
98, in publish
File /home/Zope/Zope-2.5.1-linux2-x86/lib/python/ZPublisher/mapply.py, line
88, in mapply
(Object: metadata_edit_form)
File /home/Zope/Zope-2.5.1-linux2-x86/lib/python/ZPublisher/Publish.py, line
39, in call_object
(Object: metadata_edit_form)
File
/home/Zope/Zope-2.5.1-linux2-x86/lib/python/Shared/DC/Scripts/Bindings.py,
line 252, in __call__
(Object: metadata_edit_form)
File
/home/Zope/Zope-2.5.1-linux2-x86/lib/python/Shared/DC/Scripts/Bindings.py,
line 283, in _bindAndExec
(Object: metadata_edit_form)
File
/home/Zope/Zope-2.5.1-linux2-x86/lib/python/Products/PageTemplates/Expressions.py,
line 186, in _eval
File
/home/Zope/Zope-2.5.1-linux2-x86/lib/python/Products/PageTemplates/Expressions.py,
line 143, in _eval
(Info: here)
File
/home/Zope/Zope-2.5.1-linux2-x86/lib/python/Products/PageTemplates/Expressions.py,
line 339, in restrictedTraverse
(Object: Link)
(Info: {'path': ['portal_url'], 'TraversalRequestNameStack': []})
Unauthorized: You are not allowed to access portal_url in this context
-- I know 'portal_url' is a URLTool at the CMF portal root which my product
acquires, so it's like an attribute of this object that Zope or CMF tries to
access for some reason. I've also been tracing "restrictedTraverse" in
Expressions.py but I couldn't see the information obtained as useful
information.
Any suggestions/questions?
Kind regards.