By coincidence I was reading about squidguard this morning. You might check into this as well to see if it meets your requirements.
http://www.squidguard.org/about.html
Quote:
squidGuard can be used to
...
* redirect unregistered user to a registration form.
...
|