Le CRI met à votre disposition un service permettant d'authentifier le personnel ou les étudiants de Rennes1 via une connection sécurisée (ce qui évite le passage du mot de passe en clair sur le réseau).
Ce service est compatible Sésame : ce sont les mêmes identifiants et mots de passes que ceux utilisés pour relever votre boite aux lettres électronique.
Pour plus d'information sur le fonctionnement : http://www.esup-portail.org/consortium/espace/SSO_1B/index.html
Documentation de cette librairie : http://esup-phpcas.sourceforge.net/api/
pour au moins trois raisons :
Tout d'abord il faut bien faire la distinction entre l'authentification et l'autorisation :
le service que le CRI propose est un service d'authentification : il vous assure que toutes les personnes arrivant sur votre page font bien partie du personnel de Rennes1 ou sont étudiants à Rennes1. Mais il ne vous garantit pas que la personne arrivant sur votre page a le droit d'y être.
C'est à vous à coder la partie autorisation : vous savez que la personne qui est sur votre page fait partie du personnel de Rennes1 ou est étudiant à Rennes1, il faut maintenant vous assurer qu'elle a le droit d'y être.
Pour cela vous avez deux solutions :
Au début de chaque page PHP que vous souhaitez protéger, vous devrez écrire le code suivant :
Attention, il faut impérativement ne rien écrire
avant ce code, en effet, la librairie CAS fait une redirection vers un autre
service,
et cette redirection n'est possible que si aucun caractére n'est présent
avant cette librairie.
<?php include_once('CAS/CAS.php');
?>
<?php
// **** Identification CAS de l'utilisateur *******
// initialize phpCAS
include('monFichier de config SSO');
phpCAS::client(CAS_VERSION_2_0,$serveurSSO,$serveurSSOPort,$serveurSSORacine);
phpCAS::setLang('french');
// check CAS authentication
phpCAS::forceAuthentication();
// récupération
de l'identifiant Sésame de l'utilisateur
$uid=phpCAS::getUser();
// **** Autorisation de l'utilisateur ******
if (estAutorise($uid,$page))
{
echo "OK"
} else {
echo "NOK"
}
?>
contenu du fichier inclu "monFichier de config SSO" :
<?php
$serveurSSO="sso-cas.univ-rennes1.fr";
$serveurSSOPort=443;
$serveurSSORacine='';
?>