[Zope-dev] Re: RFC: backward compatibility of ps bindings (no
resolution yet!)
Tres Seaver
tseaver at zope.com
Sat Jan 24 11:36:42 EST 2004
Dieter Maurer wrote:
> Tres Seaver wrote at 2004-1-23 17:04 -0500:
>>The script being called is invoked during a workflow transition, which
>>calls the script, passing a StateChangeInfo instance; the new code
>>tries to validate access to the SCI and pukes, badly, because the script
>>has proxy roles, but the 'container' isn't wrapped. I *think* that we
>>are seeing this issue because the new security code is tougher about
>>checking access within the script.
>
>
> But why is a "StateChangeInfo" object passed as "container" to the code
> above?
Just for clarity: the 'container' in play here is not the object bound
as 'container' to the script; it is the argument passed to validate,
which is trying to check that the script is allowed.
> Up to now, I was convinced that "container" is usually (for acquisition
> wrappers) the equivalent to "*.aq_inner.aq_parent" (which I would prefer
> to have an "aq_container" for).
>
> Hopefully, we get soon (for Zope 2.9, at least) a clear specification
> when "validate" is called with which arguments. It will help
> everyone.
>
>
>>I tried to work around the issue by adding a 'getPhysicalRoot' method to
>>SCI, merely delegating to the underlying object; however, the script in
>>my app then blows up on access to 'object' (which I may be able to fix
>>as well).
>
>
> I think, the security context should provide access to the root.
> "container" and "object" can be any type of objects neither of
> which may have access to the root.
I am working on a fix for both parts of this; the code in question is
that part of validate which is working to ensure that a script with
proxy roles is not acquiring an object "above" the current user's acl_users.
Tres.
--
===============================================================
Tres Seaver tseaver at zope.com
Zope Corporation "Zope Dealers" http://www.zope.com
More information about the Zope-Dev
mailing list