Authentification sécurisée proposée par le CRI : CAS (Central Authentication Service)

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/

Pourquoi utiliser ce service ?

pour au moins trois raisons :

Comment utiliser l'authentification sécurisé proposée pas le CRI ?

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='';
?>