Groupe 1B (SSO et gestion des autorisations)

Date de création : 25 Août 2003
Dernière modification : 25 Août 2003
Diffusion : internet

Documentation du tagLib CAS

Documentation du tagLib CAS

But :

Le but de ce tagLib est de gérer la connexion à un serveur d'identification du type CAS dont les paramètres du serveur sont placés dans un fichier de configuration au format XML (cas.xml) sous WEB-INF/classes/properties.

Principe de fonctionnement :

Le tagLib CAS est implémenté avec un singleton, ce qui a pour conséquence d'avoir une lecture unique du fichier de configuration (cas.xml) au démarrage de l'application.
Ce fichier, est ensuite parser à l'aide de Digester (Jakarta Commons Digester, pour plus d'informations sur le fonctionnement de Digester : http://www.javaworld.com/javaworld/jw-10-2002/jw-1025-opensourceprofile.html)

Documentation :

Le javadoc est disponible à l'adresse : CVS Sourcesup
Les sources du tagLib à l'adresse : CVS Sourcesup

Méthode d'utilisation :

Configuration :

Copier commons-beanutils.jar, commons-digester.jar, commons-collections.jar, commons-logging.jar ainsi que tagLibCAS.jar dans le répertoire WEB-INF/lib et castools.tld dans le répertoire WEB-INF.
Le fichier de configuration du tagLib (cas.xml) doit se trouver dans le répertoire
WEB-INF/classes/properties/ (créer le répertoire properties s'il n'existe pas par défaut).

Ce fichier doit être de la forme :

<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Pas de / s'il n'y a pas de base_uri, laisser ""-->
<cas
  hostname="domaine.fr"
  port="443"
  base_uri="/cas"
  version="2.0"
/>

Utilisation dans une page JSP :

Dans les pages jsp : on déclare le tagLib
<%@ taglib uri="http://www.yale.edu/its/tp/castools" prefix="cas" %>

Exemple d'une page JSP qui utilise l'identification CAS, met le uid de l'utilisateur en session et affiche une phrase en récupérant cet uid:

<%@ taglib prefix="cas" uri="http://www.yale.edu/its/tp/castools" %>
<cas:auth id="user" scope="session"/>
<html>
<body>
Coucou <%=session.getAttribute("user")%> !!!<br>
</body>
</html>