Groupe 1B (SSO et gestion des autorisations)

Date de création : mars 2003
Dernière modification : 6 mai 2003
Diffusion : internet

Personnalisation de CAS

Ce document traite de la personnalisation de CAS sur un site particulier.

Les points suivants sont abordés :

Prise en compte des modifications dans les sources de CAS

Tout changement dans les sources de CAS doit être suivi d'une recompilation pour faire prendre encompte les changements par Tomcat.

Une manière de faire est la suivante (un peu bourrin mais marche bien ;-) :

% cd /usr/local/cas-server-2.0.10 ; ./build.sh dist && (cp -f lib/cas.war /var/tomcat4/webapps   ; rm -rf /var/tomcat4/webapps/cas ) ; /etc/init.d/tomcat4 restart

Personnalisation de l'authentification

C'est la classe d'authentification SampleHandler, fournie par CAS, qui est appelée par défaut (authentifie n'importe quel utilisateur si login=password). La partie authentification de CAS est à la charge de l'utilisateur, il faut donc remplacer cette classe par une autre qui effectue effectivement le travail d'authentification.

On peut dans un premier temps (au moins pour les tests) utiliser SampleHandler.java. L'installation d'autres librairies est détaillée ci-dessous.

Note : Le TGC renvoyé par le serveur CAS n'est stocké par le client que s'il est transmis en HTTPS, ce qui fait que l'authentification est redemandée à chaque fois en HTTP. Pour passer en HTTPS, se référer à la partie « utilisation de certificats X509 »

Authentification sur un fichier de mots de passe "en clair"

Copier FlatFileHandler.java dans l'espace des classes d'authentification, reconstruire l'application puis ré-installer :

% cd /usr/local/cas-server-2.0.10/
% cp /tmp/FlatFileHandler.java src/edu/yale/its/tp/cas/auth/provider/
% ./build.sh
% ./build.sh dist
% cp lib/cas.war /var/tomcat4/webapps
% rm -rf /var/tomcat4/webapps/cas

Paramètrer le nom du fichier qui contient les logins et mots de passe :

String UserFile ="/tmp/userCAS";

Modifier le fichier /var/tomcat4/webapps/cas/WEB-INF/web.xml :

<context-param>
  <param-name>edu.yale.its.tp.cas.authHandler</param-name>
  <param-value>edu.yale.its.tp.cas.auth.provider.FlatFileHandler</param-value>
</context-param>

Authentification sur un annuaire LDAP (à revoir)

Copier LDAPHandler.java dans l'espace des classes d'authentification, reconstruire l'application puis ré-installer :

% cd /usr/local/cas-server-2.0.10/
% cp /tmp/LDAPHandler.java src/edu/yale/its/tp/cas/auth/provider/
% ./build.sh
% ./build.sh dist
% cp lib/cas.war /var/tomcat4/webapps
% rm -rf /var/tomcat4/webapps/cas

Paramètrer les information relatives au serveurs LDAP:

private static String url = "ldap://LDAP_HOST:LDAP_PORT";
private static String baseDN = "LDAP_BASE_DN_PERS";
private static String uidAttribute = "uid";
File logFile = new File("/tmp/CAS_ldap_handler.log");

Modifier le fichier /var/tomcat4/webapps/cas/WEB-INF/web.xml :

<context-param>
  <param-name>edu.yale.its.tp.cas.authHandler</param-name>
  <param-value>edu.yale.its.tp.cas.auth.provider.LdapHandler</param-value>
</context-param>

Personnalisation du look et internationalisation

Fichiers concernés

La personnalisation du look et du langage des pages de CAS se fait en modifiant les fichiers suivants :

Exemples

La tableau ci-dessous propose quelques personnalisations.

Établissement langue URL Sources
University of Yale EN   dans la distribution CAS
IFSIC - Université de Rennes 1 FR https://cas.ifsic.univ-rennes1.fr:8443/cas cas-ifsic.tgz