On 26/06/2009 1:02 AM, Jan Lehnardt wrote:
A an example authentication client request

   | client |  ---> | http request with credentials |  ---> |
authentication handler |  ---> | lookup in authentication handler
specific view in `users` database |  ---> | grant or deny access, set
role |

If you intend support Windows NTLM authentication, there are a couple of things that may, or may not, complicate this:

* NTLM is based on a series of 'challenge/response' pairs; the client issues a request, the server responds with a 404 and a 'token' in the headers, the client re-requests with a token based on the server's token, the server responds yet again with 404 and a new token, then finally the client's next request works.

* NTLM is connection-based. Once the connection is closed you must re-do that dance. It is not possible to persist anything beyond the life of the connection which you can use on a subsequent connection. Therefore, the dance described about must also be performed on the same connection.

Hoping this is relevant,

Mark


Reply via email to