[Zope-dev] Problems with LoginManager form-based login

Phillip J. Eby pje@telecommunity.com
Fri, 26 May 2000 12:32:31 -0500


At 07:11 PM 5/26/00 +1000, Stuart 'Zen' Bishop wrote:
>On Wed, 24 May 2000, Phillip J. Eby wrote:
>
>> This is a problem that apparently can only be solved by replicating
>> ZPublisher's backward walk, which is the wrong thing to do because the
>> traversal will be O(n^2).  Bleah.  I guess we'll have to do something like
>> Stuart Bishop's backward walk in the GUF, since any enhancement of the
>> ZPublisher architecture to handle login forms properly won't happen until
>> at least 2.2.
>
>The backward walk stuff (which I don't think ever worked - every time
>I fixed one case it seemed I'd break another) has been torn out and
>replaced with code that does what you are after. Grab a copy of the
>latest version and search for 'WooHoo' in GenericUserFolder.py

Been there, done that.  Yours doesn't work either, btw.  Well, actually, it
does, it's just that it causes a memory leak because it leaves an
unintended circular reference.  We've got a version that fixes the circular
reference, but in a really really ugly way (it does a run-time patch to
BaseRequest.close() to remove the poked-in unauthorized() method).  It will
be in LM 0.8.6, which we're trying to finish now.  We might have had it
done today, but there was a bomb threat in one of the buildings in the
complex where we work and we were evacuated for a couple hours.

LM 0.8.6 also works with Zope 2.2 as far as being able to be added,
although I'm not sure it interoperates properly with the new security API.
It will still be backward compatible with Zope 2.1.6 either way, though.