[Zope-PAS] Re: challenge branch ready for review
Zachery Bir
zbir at urbanape.com
Thu Oct 14 09:29:27 EDT 2004
On 2004-10-14 08:33:04 -0400, Lennart Regebro
<regebro at nuxeo.com> said:
> Zachery Bir wrote:
>> On 2004-10-14 06:00:09 -0400, Lennart Regebro
>> <regebro at nuxeo.com> said:
>>
>>> This only overrides _unauthorized(), which means that _exception() will
>>> then later in the chain perform a HTTP Basic auth no matter what. You
>>> need to override _exception *and* _unauthorized, like is done in HEAD
>>> for the moment.
>>
>> No, you don't. RESPONSE.exception() calls RESPONSE._unauthorized, which
>> we already trap and we do the challenge there. Go look at the code in
>> HTTPResponse.
>
> I know, I HAVE looked at it. Explain to me why I'm wrong instead of
> just assuming that I don't know what I'm talking about please. :-) I
> have done several different challenge implementations now, I am slowly
> getting the hang of it. :-)
You said, "which means that _exception()[sic] will then later in the
chain perform a HTTP Basic auth no matter what". This is false. I've
got a PAS instance with a single CookieAuthHelper enabled to do all
challenges. I've got an external method that only raises Unauthorized.
The only challenge to happen is the cookie auth login form. All without
having to override the response's exception() method.
> OK, if the ugly "self._locked_status" hack is used, it's possible to
> prevent the status to be changed later. But the body will still be
> overriden. That means that one of the three identified types of
> challenges is not possible to implement, for no particularily good
> reason.
Refresh my memory. Which of the three identified can't be implemented?
Zac
More information about the Zope-PAS
mailing list