Le serveur CAS envoie donc à GRR Les valeurs suivantes :
user_nom_ldap, user_prenom_ldap, user_code_fonction_ldap, user_libelle_fonction_ldap, user_language_ldap et user_mail_ldap.
L'étape suivante consiste à configurer le fichier « include/config_CAS.inc.php ».
Remarque :
Le fichier « include/config_CAS.inc.php » n'existe pas dans le paquetage de GRR. En revanche, un fichier « config_CAS.inc.php.ori » est présent dans le répertoire « include ». Commencez par renommer ce fichier en config_CAS.inc.php. De cette façon, lors d'une mise à jour de GRR, vous ne risquez pas d'écraser ce fichier « config_CAS.inc.php » car il n'est pas présent dans l'archive.
Idéalement, GRR peut récupérer les 5 valeurs suivantes :
le nom de l'utilisateur
le prénom de l'utilisateur
la langue de l'utilisateur
le statut de l'utilisateur
le mail de l'utilisateur
La correspondance entre ces champs et les valeurs envoyées par le serveur CAS (user_nom_ldap, user_prenom_ldap, user_code_fonction_ldap, user_libelle_fonction_ldap, user_language_ldap et user_mail_ldap) se fait de la manière suivante :
Par défaut, le fichier « include/config_CAS.inc.php » comporte les lignes suivantes :
$user_nom=recuperer_nom(phpCAS::getAttribute('user_nom_ldap'));
$user_prenom=recuperer_prenom(phpCAS::getAttribute('user_prenom_ldap'));
$user_language=recuperer_language(phpCAS::getAttribute('user_language_ldap'));
$user_code_fonction=recuperer_code_fonction(phpCAS::getAttribute('user_code_fonction_ldap'));
$user_libelle_fonction=recuperer_libelle_fonction(phpCAS::getAttribute('user_libelle_fonction_ldap'));
$user_mail=recuperer_mail(phpCAS::getAttribute('user_mail_ldap'));
Explications :
$user_nom : nom de l'utilisateur
$user_prenom : prénom de l'utilisateur
$user_language : langue de l'utilisateur
$user_code_fonction : identifiant du profil de l'utilisateur dans l'annuaire LDAP
$user_libelle_fonction : libellé du profil de l'utilisateur dans l'annuaire LDAP
$user_mail : mail de l'utilisateur
Explication de la première ligne :
$user_nom=recuperer_nom(phpCAS::getAttribute('user_nom_ldap'));
phpCAS::getAttribute('user_nom_ldap') est la variable envoyé par CAS.
La fonction « recuperer_nom() » permet éventuellement de traiter cette variable pour récupérer la valeur utilisée dans GRR. En effet certains attributs peuvent nécessiter un traitement avant de pouvoir être utilisés dans GRR (voir ci-dessous).
Le résultat est alors stocké dans $user_nom.
Pour chacun des attributs LDAP envoyé par CAS à l'application GRR il est possible de personnaliser dans le fichier « include/config_CAS.inc.php », des fonctions de traitement de ces attributs.
Par exemple, dans le cas d'un ENT basé sur l'annuaire fédérateur de l'Education Nationale, les informations concernant le profil sont lues dans l’annuaire LDAP, dans l’attribut « ENTPersonFonctions ». Or ce champ multivalué est constitué de 5 valeurs. L'identifiant du profil et son libellé sont respectivement les 2ème et 3ème champs.
Dans le fichier « include/config_CAS.inc.php » figurent des exemples de code permettant de traiter ces champs multivalués.
Le profil de l'utilisateur (identifiant et libellé) est disponible grâce aux variables $user_code_fonction et $user_libelle_fonction.
Mais les profils de l'annuaire LDAP ne correspondent pas à priori aux différents statuts possibles dans GRR.
Une interface dans GRR permet donc à l'administrateur de faire correspondre le profil d’un utilisateur (appelé fonction dans l’annuaire LDAP), et le statut qu'il se verra attribué au sein de GRR à sa première connexion à GRR.
Cette interface n'est pas visible par défaut. L'activation de cette interface se fait dans le menu générale de configuration SSO.
Une fois cette fonctionnalité activée, l'administrateur peut compléter le tableau de correspondance.
Ainsi, à la première connexion d'un utilisateur externe authentifié par CAS, son statut dans GRR est déduit du tableau de correspondance.
Remarque : si le profil de l’utilisateur ne possède pas d’entrée dans la table de correspondance une nouvelle entrée est alors automatiquement créée pour ce profil et le statut par défaut (défini dans la page de gestion du SSO) lui est associé.
L’administrateur peut par la suite changer le statut associé à ce profil.