Somebody else jump in if I'm wrong, but it seems as if you have two things to deal with??
Thing One: authenticate users; I would use Samba as a PDC (primary domain controller). It's pretty easy to set up, with tons of documentation at http://www.smaba.org.
Thing Two: Proxy Server; I use Dansguardian. It's quite configurable, is easy to set up, and works seamlessly with Squid on your server.
I'm sure there are other ways you could go...