[Zope] taking ownership requires HTTP_REFERER; and more
Fred Yankowski
fred at ontosys.com
Tue Sep 14 18:36:46 EDT 2004
OK, here's a quick note about what I learned today. Perhaps this will
help some googler some day.
The root problem I set out to fix was that I could not create a new
issue via a ZWiki issue tracker when logged in as a regular Member; it
would always result in Insufficient Privileges. This even though I
could create new wiki pages in the same wiki instance/folder. I
eventually figured out on another Zope/Plone instance that granting
the 'ZWiki: Add pages' permission to Owner allows the
createNextIssue() method called from the issuetrackerdtml DTML method
to run.
But that didn't work on the problematic instance, apparently because
that DTML method was owned by 'admin', the Zope superuser. And *that*
happened because the Plone site was imported by someone (not me --
honest) logged in as admin who chose to take ownership during the
import.
So I logged in to the ZMI as a non-admin Manager user and tried to
take ownership of the portal_skins folder (and all content below it).
That resulted in Insufficient Privileges too. The error_log entry had
this:
Unauthorized: manage_takeOwnership was called from an invalid context
That method requires the HTTP_REFERER value from the request to do its
work. (Why? Is that really to be trusted?) I typically access sites
via a proxy (junkbuster) that removes the HTTP_REFERER header and so I
was hosed.
After bypassing that proxy I was able to take ownership of
portal_skins from the non-admin Manager account. And with that done I
was finally able to create a ZWiki issue-tracker item when logged in
as a regular Member. Q.E.D.
--
Fred Yankowski fred at ontosys.com tel: +1.630.879.1312
OntoSys, Inc PGP keyID: 7B449345
www.ontosys.com 38W242 Deerpath Rd, Batavia, IL 60510-9461, USA
More information about the Zope
mailing list