My current setup:

Squid (ACLs) -> DansGuardian (filtering) -> Squid (Caching)

What happens is that Squid sends an ident query to the client, if the username in the 
response (using an external acl) appears in a file that contains a list of allowed 
users (polled from an ldap server every hour), it allows the client access. From 
there, DG will send another ident query for logging purposes.

If the ident query fails, the next acl uses basic auth and authenticates the user with 
ldap.

The problem is that it generates two ident queries per request and I'm afraid on a 
network with over 3000 users this might be too much. It would be nice if Squid would 
treat ident as a true authentication mechanism and "remember" who the user is for a 
certain amount of time, like with basic auth.

It also would be an improvement if Squid would pass the ident username between cache 
peers as it does with basic auth. DG could then get the username from this and 
wouldn't need to send an ident query. I know I've posted on this subject before, but 
I'm really hoping this will inspire someone as others are probably dealing with my 
same quandary.

An alternate idea would be to ditch ident and use a client on the Windows workstations 
that would automatically respond to the basic auth requests. The goal is to make this 
setup similar to our BorderManager proxy which uses a Novell application called Client 
Trust so proxy authentication is seamless to the end-user.

I have no idea if said application exists which would handle basic auth for more than 
just IE (for instance.. what if they're using Netscape, an FTP client, Java, etc).

Sorry for such a long email... any input will be greatly appreciated!

Best regards,
David Rippel

Reply via email to