Planning and DeploymentPlanning a CAS deployment requires consideration of the application and
platform ecosystem in light of security considerations, availability, and
capacity.System Integration
Enterprise deployment planning begins with careful consideration of existing software and systems to be
integrated with CAS including applications, identity management and authentication services, and other
supporting enterprise services.
CAS Client IntegrationThe following CAS clients can be employed to integrate most proprietary and
open source applications:Java CAS Client.NET CAS Clientmod_auth_cas module for ApachephpCAS
Additionally, custom applications developed in common languages/platforms are easily supported in most
cases. In almost all cases Web applications are easily integrated with CAS. Difficulty commonly arises,
however, with applications built on legacy frameworks such as database procedural languages (e.g. PL/SQL)
or mainframe applications. These kinds of applications frequently require creative solutions for CAS
integration, but there are many such examples in community-contributed integration solutions that
showcase the flexibility of CAS.
The following matrix summarizes popular applications and the required libraries for CAS integration.
Popular applications to CASify and the CAS Client integration software libraries employed
in these integrationsApplication or FrameworkCAS ClientSupportednessOutlook Web Access / Outlook Web Application.NET CAS Client and ClearPass Extension.NET CAS Client is a core supported vended-by-Jasig CAS integration module.
ClearPass is a community-supported CAS extension that is not part of the CAS server
itself.Apache httpdmod_auth_casmod_auth_cas is a core vended-by-Jasig CAS integration module.ASP.NET.NET CAS Client.NET CAS Client is a core supported vended-by-Jasig CAS integration module.IIS7.NET CAS Client.NET CAS Client is a core supported vended-by-Jasig CAS integration module.Java ServletsJasig Java CAS ClientJasig Java CAS Client is a core supported vended-by-Jasig CAS integration module.Spring SecuritySpring Security and the Jasig Java CAS ClientSpring Security is not vended by Jasig, but CAS server depends out of the box on
Spring Security's CAS support for authenticating administrators to access the CAS
Services Registry functionality.
The Jasig Java CAS Client is a core supported vended-by-Jasig CAS integration module.
PHP applicationsphpCAS
phpCAS is a core supported vended-by-Jasig CAS integration module.
Ruby on Railsrubycas-client
rubycas-client is not vended by Jasig.
PerlPerlCAS
PerlCAS is not vended by Jasig.
AuthenticationCAS must be integrated with one or more enterprise authentication systems such as LDAP/Active Directory.
While it is most common to integrate CAS with a single enterprise authentication system, it is possible to
integrate with multiple systems given the following important requirement.Using Multiple Authentication SourcesThe namespaces of each authentication source must be guaranteed to be unique in order to prevent
ambiguity about the identity of the authenticating user. In particular neither a credential such as a
username nor the name of the resolved principal may exist in more than one authentication source.CAS supports many ways of authenticating user credentials, including:validation against Active Directory, either via LDAP or Kerberos protocolJAAS (whereby CAS supports Kerberos)RDBMS / JDBC (database)LDAPRADIUSSPNEGOREMOTE_USER (Container authentication)X.509 CertificatesAttribute Release
In addition to authenticating the user, CAS is capable of querying for additional attributes about a user
following authentication in order to store and release some or all of this information to requesting
services for the purposes such as authorization and personalization. Attribute data is commonly sourced
from the same store as authentication data, but the design of attribute retrieval allows configuring
multiple disparate attribute sources.
Supporting ServicesMany enterprises have services that may be leveraged by CAS. For example, the availability of enterprise
database hosting might suggest the use of JpaTicketRegistry for the server ticket store. Likewise clustering
hardware or software might be used by CAS for improved availability and/or capacity.Security ConsiderationsCAS deployment requires consideration of enterprise security concerns such as integration with IDM
software, PKI, and security policy.
TODO: complete this Security Considerations section.
Availability and Capacity PlanningEvery enterprise deployment of CAS should be vitally concerned with availability and performance
obtained through careful capacity planning.
TODO: complete this Availability and Capacity Planning section.
Deployment ScenariosWe present some popular deployment scenarios for CAS with commentary on availability and performance characteristics.
TODO: complete this Deployment Scenarios section. E.g. "Single Client/Single Server"