CAS3 object model
What is the object model in CAS 3? What have we got here, really?
Modules
3 logical MODULES (domain-driven design talk. They're organized in separate Java packages): "authentication", "ticket", and "remoting".
Ticket module
See above link.
Authentication module
See above link.
Remoting module
The "remoting" package (work in progress) is the RPC "endpoint" of the CAS server for the outside world. Currently contains CasService and JaxRpc impl.
Web module
One thing that has to happen at the web layer is the examination of HttpServletRequests representing requests for authentication and extracting from them the information that is relevant.
- going from HttpServletRequests to evidence on the basis of which we can authenticate a principal.
- thoughts
Wiring it up to the world
The "web" package is the HTTP "endpoint" of the CAS server for the outside world (similar to the current CAS Servlets?) Implemented as various Spring web controllers.
Implementing it
The "util" package contains various helpers i.e. PasswordTranslator, UniqueTicketIdGenerator, RegistryCleaner, etc.