Présentation :

Nous proposons à la communauté, un script d'installation automatisé de CAS v5.2.7.

Nous ne garantissons pas que les configurations issues de ce script fonctionnent pour d'autres versions de CAS.
D'après la documentation officielle, la fin de vie de la version 5.2.x est programmée pour le 27 novembre 2019.
https://apereo.github.io/cas/developer/Maintenance-Policy.html


Dans ce script, nous avons choisis d'utiliser CAS avec les fonctionnalités suivantes :

- Redis :
Outre le fait de disposer d'un système de stockage de données (tickets) en mémoire qui offre des temps de réponses très rapides, Redis peut persister ces données sur disque dur. Il 'dump' régulièrement les données suivant des règles, ou lors du redémarrage du service/serveur.
Persister les tickets offre l'avantage aux utilisateurs de ne pas avoir besoin de se ré-authentifier après un redémarrage du service/serveur.

- Interrupt :
L'interrupt Authentication permet de "suspendre" l'authentification en se basant sur certaines données issues du CAS.
Par exemple, on souhaite empêcher un utilisateur, qui n'a pas validé sa charte informatique, de s'authentifier.
Pour ce faire, le script va s'appuyer sur des informations issues du CAS (attributs ldap, uid, date, service demandé, etc.) pour générer des "interruptions" paramétrables (message, liens, SSO désactivé, etc.).

- Agimus :
Outre le fait de générer un cookie "trace", les overlays développés par Julien Marchal permettent de créer des fichiers de logs plus facilement exploitables. Exemple :

- Renvoi d'attribut pour le protocole CAS_2.0 :
Une modification réalisée par Dominique Lalot pour permettre le renvoi d'attribut avec le protocole CAS_2.0 (normalement, les attributs sont renvoyés uniquement en CAS_3.0)


Pré-requis :

Ce script a été testé sur un serveur ubuntu 16.04 avec Tomcat 8, java 8 (open-jdk), redis 3.06, maven 3.3.9 et git 2.7.4.

Nous ne garantissons pas le fonctionnement à 100% avec d'autres versions des packages et/ou du système.

Pour fonctionner, ce script nécessite que vous ayez installé :

Cet article ne traitera pas de la configuration de ces services.


Contenu de l'archive

installCasV5.sh :

cas.properties :

pom.xml :

log4j2.xml :

service-1.json :

casServiceValidationSuccess-custom.html :

interrupt.groovy :


Utilisation du script

Récupérer l'archive install-kit.tar.gz

Décompresser l'archive et modifier la partie "paramètres du script" du fichier installCasV5.sh.

Lancer le script.

Si tout s'est bien passé, le script vous indique les dernières étapes de configuration.


Post-installation 

Lancez votre instance de tomcat et vérifier l'absence d'erreur dans le fichier catalina.out.

Accéder à la page 'https://votre.url/cas' et vous devriez avoir accès à la page de login de cas.

Configurer les services (/etc/cas/services). Note : il suffit simplement de modifier l'expression régulière du fichier service-1.json (remplacer "univ" par votre domaine).

Si besoin, ajuster le script interrupt.groovy.