This package contains an abstracted interface for handling the proxying of a user. The abstraction exists because the different versions of CAS may actually handle the proxying differently but the workflow of the validation process in the web tier is the same.