<div>Thanks Chris,</div>
<div>&nbsp;</div>
<div>But REMOTE_USER environment variable is only available in CGI mode. It's okay for zope3, but no working for zope3.</div>
<div>&nbsp;</div>
<div>I know there is a way to do similar things: use apache 2.0.x and mod_auth_sspi and pass the information either use http head or part of URL. But it's a not very nice solution. That's why I started to look an alternative solution. But it seems impossible to implement in zope3 use auth-plugin.
</div>
<div>&nbsp;</div>
<div>Maybe it's time to stop thinging about this. :(</div>
<div>&nbsp;</div>
<div>Simon<br>&nbsp;</div>
<div><span class="gmail_quote">On 9/14/06, <b class="gmail_sendername">Chris McDonough</b> &lt;<a href="mailto:chrism@plope.com">chrism@plope.com</a>&gt; wrote:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">The right thing to do here is probably to just use something like<br><a href="http://modntlm.sourceforge.net/">
http://modntlm.sourceforge.net/</a> and trust the REMOTE_USER environment<br>variable passed by Apache... let somebody else worry about<br>maintaining it. ;-)&nbsp;&nbsp;One strategy for doing this is described at<br><a href="http://plone.org/documentation/how-to/singlesignonwindowsdomains/">
http://plone.org/documentation/how-to/singlesignonwindowsdomains/</a><br>#step1 .<br><br>On Sep 13, 2006, at 9:37 AM, Philipp von Weitershausen wrote:<br><br>&gt; Gary Poster wrote:<br>&gt;&gt; On Sep 13, 2006, at 2:30 AM, Philipp von Weitershausen wrote:
<br>&gt;&gt;&gt; Simon Hang wrote:<br>&gt;&gt;&gt;&gt; Hi,<br>&gt;&gt;&gt;&gt;&nbsp;&nbsp;I'm thinging to write a NTLM credential plugin for zope3. But<br>&gt;&gt;&gt;&gt; as I know, ntlm use 4-way handshake procedure, that means it
<br>&gt;&gt;&gt;&gt; needs two round-trips between server(zope3) and client(browser).<br>&gt;&gt;&gt;&gt;&nbsp;&nbsp;When I look in the credential plugins, it has challenge mothed.<br>&gt;&gt;&gt;&gt; But seems it is only design for 1 round-trip protocol. It can
<br>&gt;&gt;&gt;&gt; issue one challenge, and return to parent script.<br>&gt;&gt;&gt;<br>&gt;&gt;&gt; I don't see how the PAU only allows one &quot;round-trip&quot;.<br>&gt;&gt; AIUI (I just looked up NTLM last night out of curiosity: see
<br>&gt;&gt; <a href="http://www.innovation.ch/personal/ronald/ntlm.html">http://www.innovation.ch/personal/ronald/ntlm.html</a>), the problem<br>&gt;&gt; is that the 4 way handshake has to happen *within a single<br>&gt;&gt; connection*.
<br>&gt;<br>&gt; Ack. Ok, I didn't know that. Frankly, I personally don't care much<br>&gt; about NTLM anyways...<br>&gt;<br>&gt;&gt; Apparently MS abuses HTTP to perform this.&nbsp;&nbsp;Implementing it in<br>&gt;&gt; pluggable auth made me scratch my head a bit, so I didn't reply.
<br>&gt;&gt; You would need to slurp the request, then push back to the<br>&gt;&gt; response, then slurp the same request again, then push back to the<br>&gt;&gt; response, then slurp one more time, and finally reply with the
<br>&gt;&gt; real request.&nbsp;&nbsp;Describing the problem to Benji, he mentioned WSGI--<br>&gt;&gt; that does seem like the only way I can imagine this working, and<br>&gt;&gt; that would be tricky enough, especially if you needed to reach
<br>&gt;&gt; into Zope for the managed credentials.&nbsp;&nbsp;Once the WSGI plugin did<br>&gt;&gt; its magic, it would need to put something in the WSGI request that<br>&gt;&gt; a pluggable auth plugin was willing to accept as authentication.
<br>&gt;&gt; On the bright side, if you did this with WSGI you might be able to<br>&gt;&gt; offer this as a generic Python WSGI NTLM tool that required only<br>&gt;&gt; minimal integration with the back end app server.<br>
&gt;<br>&gt; Yes, WSGI definitely sounds like a good place to put this then.<br>&gt; Perhaps the WSGI middleware could &quot;fake&quot; a client that uses a more<br>&gt; standard authentication system (e.g. Basic Auth) to the WSGI
<br>&gt; application, that way it'd be transparent to the WSGI application.<br>&gt; Not sure if that's possible with NTLM, though.<br>&gt;<br>&gt; _______________________________________________<br>&gt; Zope3-users mailing list
<br>&gt; <a href="mailto:Zope3-users@zope.org">Zope3-users@zope.org</a><br>&gt; <a href="http://mail.zope.org/mailman/listinfo/zope3-users">http://mail.zope.org/mailman/listinfo/zope3-users</a><br>&gt;<br><br>_______________________________________________
<br>Zope3-users mailing list<br><a href="mailto:Zope3-users@zope.org">Zope3-users@zope.org</a><br><a href="http://mail.zope.org/mailman/listinfo/zope3-users">http://mail.zope.org/mailman/listinfo/zope3-users</a><br></blockquote>
</div><br>