[Zope3-Users] Re: NTLM credential plugin

Chris McDonough chrism at plope.com
Wed Sep 13 11:47:12 EDT 2006


The right thing to do here is probably to just use something like  
http://modntlm.sourceforge.net/ and trust the REMOTE_USER environment  
variable passed by Apache... let somebody else worry about  
maintaining it. ;-)  One strategy for doing this is described at  
http://plone.org/documentation/how-to/singlesignonwindowsdomains/ 
#step1 .

On Sep 13, 2006, at 9:37 AM, Philipp von Weitershausen wrote:

> Gary Poster wrote:
>> On Sep 13, 2006, at 2:30 AM, Philipp von Weitershausen wrote:
>>> Simon Hang wrote:
>>>> Hi,
>>>>  I'm thinging to write a NTLM credential plugin for zope3. But  
>>>> as I know, ntlm use 4-way handshake procedure, that means it  
>>>> needs two round-trips between server(zope3) and client(browser).
>>>>  When I look in the credential plugins, it has challenge mothed.  
>>>> But seems it is only design for 1 round-trip protocol. It can  
>>>> issue one challenge, and return to parent script.
>>>
>>> I don't see how the PAU only allows one "round-trip".
>> AIUI (I just looked up NTLM last night out of curiosity: see  
>> http://www.innovation.ch/personal/ronald/ntlm.html), the problem  
>> is that the 4 way handshake has to happen *within a single  
>> connection*.
>
> Ack. Ok, I didn't know that. Frankly, I personally don't care much  
> about NTLM anyways...
>
>> Apparently MS abuses HTTP to perform this.  Implementing it in  
>> pluggable auth made me scratch my head a bit, so I didn't reply.   
>> You would need to slurp the request, then push back to the  
>> response, then slurp the same request again, then push back to the  
>> response, then slurp one more time, and finally reply with the  
>> real request.  Describing the problem to Benji, he mentioned WSGI-- 
>> that does seem like the only way I can imagine this working, and  
>> that would be tricky enough, especially if you needed to reach  
>> into Zope for the managed credentials.  Once the WSGI plugin did  
>> its magic, it would need to put something in the WSGI request that  
>> a pluggable auth plugin was willing to accept as authentication.
>> On the bright side, if you did this with WSGI you might be able to  
>> offer this as a generic Python WSGI NTLM tool that required only  
>> minimal integration with the back end app server.
>
> Yes, WSGI definitely sounds like a good place to put this then.  
> Perhaps the WSGI middleware could "fake" a client that uses a more  
> standard authentication system (e.g. Basic Auth) to the WSGI  
> application, that way it'd be transparent to the WSGI application.  
> Not sure if that's possible with NTLM, though.
>
> _______________________________________________
> Zope3-users mailing list
> Zope3-users at zope.org
> http://mail.zope.org/mailman/listinfo/zope3-users
>



More information about the Zope3-users mailing list