Child pages
  • Kit installation CAS V5.2 AMU

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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 :

  • log restreint de type : Date + resultat d'authentification + username + ip
  • log complet de type : Date + IP + username + ticketCas + service + user-agent

- 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é :

  • Tomcat 8
  • Java 8
  • redis
  • maven
  • git

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


Contenu de l'archive

installCasV5.sh :

  • script d'installation. Il faut le modifier/compléter avant de le lancer.

cas.properties :

  • Fichier de configuration de CAS. Ce fichier va être modifié par le script donc il n'est pas nécessaire de le faire manuellement.
    Cependant, tout ou partie de ce fichier peut être utilisé SANS passer par le script. Dans ce cas, vous devez le modifier manuellement en tenant compte des liens avec le fichier pom.xml.
    En effet, les dépendances du fichier pom.xml (synonyme de fonctionnalité CAS) nécessitent des directives du fichier cas.properties. S'il manque des directives, CAS ne démarrera pas. De même, si des directives de cas.properties existent, mais que la dépendance dans pom.xml n'existe pas, CAS générera des erreurs et ne démarrera pas.

pom.xml :

  • fichier contenant les directives de compilation de CAS. Les dépendances dans ce fichier sont synonymes de fonctionnalités du serveur CAS (Il n'a pas à être modifié).

log4j2.xml :

  • fichier de configuration des logs. Utile pour la partie Agimus et, de manière globale, pour activer le mode debug.

service-1.json :

  • Un exemple de service avec une expression régulière complète. Ce fichier doit être modifié (dans la partie serviceId, il suffit simplement de remplacer "univ" par votre domaine).

casServiceValidationSuccess-custom.html :

  • Fichier permettant le renvoi des attributs pour le protocole CAS_2.0.

interrupt.groovy :

  • Fichier d'exemple du script d'interruption d'authentification.
    Par défaut, ce fichier n’interrompt pas les authentifications. Si vous souhaitez utiliser la fonctionnalité d'interruption d'authentification, vous devez modifier ce fichier (des commentaires sont présents dans le fichier pour vous aider).


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.