Intégration de GRR dans CAS SSO

L’université de Yale aux Etats-Unis (http://www.ja-sig.org/products/cas/index.html) a développé le logiciel open source CAS (Central Authentification Service) pour centraliser toutes les identifications à différentes applications afin d'éviter les identifications multiples (SSO).
Depuis la version 1.7, GRR est prévu pour fonctionner dans un environnement CAS SSO.

Les Pré-requis :

Version PHP supérieure ou égale à 4.2.2, compilée avec les options suivantes :
--with-curl, --with-openssl, --with-dom, --with-zlib
Installation de la librairie phpCAS (http://esup-phpcas.sourceforge.net/) :
1. téléchargement du package phpCAS
2. Extraction du package dans un sous-répertoire « CAS » dans le répertoire correspondant à l'include_path du php.ini (exemple : /var/lib/php)
3. Création du fichier cas.sso contenant les informations de connexions au serveur CAS, à mettre dans la même répertoire  /var/lib/php

Exemple de fichier cas.sso :
<?php
$serveurSSO="nom.du.serveur.fr";
$serveurSSOPort=8443;
$serveurSSORacine=CAS;
?>

Il est possible de modifier les chemins d'accès au fichier « cas.sso » et à la librairie phpCAS dans le fichier « cas.inc.php ».

Fonctionnement

Dans le panneau d'administration de GRR, une page « configuration SSO » permet d'activer la prise en charge de l'environnement CAS. L'activation consiste à choisir le statut par défaut des utilisateurs authentifié CAS (« usager » ou « visiteur »).

Remarque :
Depuis la version GRR197, il est possible de configurer le serveur CAS et GRR de façon à pouvoir récupérer dans GRR des attributs LDAP envoyés par le serveur CAS. Il est alors possible d'associer à un attribut LDAP le statut de l'utilisateur dans GRR. Dans ce cas, le statut par défaut précédent n'est utilisé que lorsque la procédure d'association échoue. Reportez-vous à l'annexe 1 de cette documentation pour plus de détails.

Tout comme pour LDAP, deux types d'utilisateurs peuvent cohabiter :
Dans le tableau de gestion des utilisateurs un champ indique le type d'authentification (« local » ou « ext ») de l'utilisateur.

Remarques :

Que se passe-t-il une fois que l'utilisateur a été authentifié par CAS ?

Lorsque GRR est paramétré pour s'intégrer dans un environnement CAS, le processus suivant s'applique :
Une fois l'utilisateur connecté, rien ne diffère pour celui-ci par rapport à un environnement non CAS à la différence près qu'il ne peut pas modifier son mot de passe (celui-ci étant géré par le serveur CAS).

Lorsqu'un utilisateur se déconnecte, la session GRR est détruite et le navigateur est redirigé vers une page dont l'URL est spécifié dans la page de configuration générale.