On Fri, 2008-03-21 at 15:37 +0000, paul cooper wrote:
> I think im also confused  about the interaction between the browser, squid
> and external authenticators in spite of reading Ch12 several times.

authentication and external acls is very different things.

authentication is based on information the browser passes in the HTTP
request, identifying the user. The exact details varies depending the
scheme you use.

basic: login+password, as entered by the user in his browser.
digest: login+one time hash, based on login+password entered by the user
in his browser.
ntlm & negotiate: Microsoft authentication blobs, used for automatic
domain authentication, same mechanisms as used between a windows station
and file server.

authentication details is processed by authentication helpers
(auth_param) and these basically returns an "OK/ERR" to Squid.

external acls (external_acl_type) can either use login information
already provided by authentication (%LOGIN, also implicitly requires
authentication), or use it's own out-of-band methods for figuring out
the user using whatever means available to the helper and return this to
Squid if they want. There is no standard out-of-band methods but some
examples can be

- static IP based registry, assigning the user based on which client
station the request comes from. This is what I thought you wanted to do.
- Separate session database keeping track of users per client IP. Used
for example to integrate with various forms+cookie based authentication
services.

Both kinds of helpers runs as slaves to the Squid process, using the
user identity of your Squid, not the requesting user.

> request then goes : squid-> helper . the helper can do what it likes and
> returns a string to squid. if the string is "ERR"  then squid will deny
> access. If it is "OK" then squid allows access to the cache . In addition
> the user=xxx  can also be passed back from the helper to squid.
> 
> Can squid then use this user  as the basis for an ACL ?

Yes.

> so why did my perl example that outputs a file to the  disk not  write the
> file, which it did when executed from the CL. How do i see the data that
> is going to and from the helper and verify its executing the helper as i
> expect.?

If the acl is reached successfully in your http_acces processing then
the helper will be called. But remember that if you use %LOGIN then the
helper is only called AFTER the client has provided successful login
credentials to the proxy using any of the methods you define in
auth_param..

> Sorry to have so many questions. Is there anything that goes into any more
> detail than "Squid - the definitive guide?"

This mailinglist.

Regards
Henrik

Reply via email to