Documents:Single Sign Out Grr
Un article de Wiki ESCO-Portail.
Sommaire
|
Modification de la version 1.9.5.c de GRR
Résumé de la modification
La version 1.9.5.c de GRR a ete modifiee par le RECIA, notamment pour gerer le global logout.
Ameliorations :
- Global Logout géré - Liens directs vers les ressources enlevés des mails automatiques de demande de modération - passage en SAML pour le ticket CAS
Le package contenant le nécessaire de mise à jour est présent sur le serveur de l'environnement de démo : (SCHUBERT) /opt/grr/miseAJour195cRecia/
Détail des fichiers du package de mise à jour
miseAJour195cRecia/
|-- explications.txt => Détails et Pré-requis sur la mise à jour
|-- maj-grr195c-recia.sh => Script de mise à jour
`-- patch => Fichiers modifiés à mettre à jour
|-- include
| |-- cas.inc.php
| `-- functions.inc.php
`-- language
|-- lang.de
|-- lang.en
|-- lang.es
|-- lang.fr
`-- lang.it
Pré-Requis :
- Mise a jour de PHPCAS vers la version 1.1.0RC1 (minimum) !!
Marche à suivre pour la mise à jour
1) S'assurer que PHPCAS est bien version 1.1.0RC1 minimum.
Si ce n'est pas le cas, il faut le mettre à jour, tout en pendant à sauvegarder le fichier cas.sso du répertoire CAS, afin de le replacer ensuite à ce même endroit.
2) Pour effectuer la mise à jour, il suffit d'utiliser le script maj-grr195c-recia.sh.
Syntaxe : ./maj-grr195c-recia.sh <Chemin absolu vers le GRR> <chemin vers backup>
Exemple avec le GRR de Vinci :
./maj-grr195c-recia.sh /var/www/grr/grr_Vinci bak_grr_Vinci
Lors de l'exécution du script,
- une copie de sauvegarde des fichiers qui seront remplaces est effectue (dans le répertoire fourni en parametre)
- les fichiers à mettre à jour sont remplacés (voir Fichiers contenus dans le patch)
Détail technique de la mise à jour
Utilisation de PHPCas 1.1.0RC1 et de SAML
include/cas.inc.php ==> On parametre l'appel à PHPCAS pour utiliser SAML
phpCAS::client(SAML_VERSION_1_1,$serveurSSO,$serveurSSOPort,$serveurSSORacine);
On change la manière dont sont récupérés les attributs
// A ce stade, l'utilisateur est authentifié $attributes=phpCAS::getAttributes(); $user=phpCAS::getUser(); $login=phpCAS::getUser(); $user_id=$attributes['uid']; $user_nom=$attributes['sn']; $user_prenom=$attributes['givenName']; $user_preferredLanguage=traiter_language($attributes['preferredLanguage']); $user_codefonction=recuperer_codefonction($attributes['ENTPersonFonctions']); $user_libellefonction=recuperer_libellefonction($attributes['ENTPersonFonctions']); $user_mail=$attributes['mail']; $user_ext_authentifie = 'cas';
Gestion du Global Logout
include/cas.inc.php ==> On ajoute le support du global logout
Pour être capable de traiter la requête de Global Logout de CAS, il suffit d'ajouter cette ligne (juste avant le forceAuthentication()) :
phpCAS::handleLogoutRequests();
Modification des mails automatique
Les mails automatiques avertissant les gestionnaires que des réservations en attente sont a modérées ont été modifiés.
Dans ces messages, des liens pointant vers la ressource à modérer posaient problème puisqu'ils n'était pas possible de les faire s'ouvrir à l'intérieur du portail. Ces liens ont donc été retirés du corps du message et le texte associé a été adapté.
include/fonctions.inc.php ==> Suppression des liens directs vers les ressources
Les lignes utilisant la fonction traite_grr_url() et donc l'url fournie contient un lien vers une ressource précise ont été commentées, afin de ne jamais afficher de lien vers une ressource dans un mail.
Exemple :
// Modif RECIA // $message .= "\n".$vocab["voir_details"].$vocab["deux_points"]."\n"; // Voir les d�tails : // if (count($tab_id_moderes) == 0 ) // $message .= "\n".traite_grr_url("","y")."view_entry.php?id=".$id_entry; // else { // foreach($tab_id_moderes as $id_moderes) { // $message .= "\n".traite_grr_url("","y")."view_entry.php?id=".$id_moderes; // } //}
language/lang.fr ==> Modification du texte du mail demandant une modération
// Modif RECIA $vocab["subject_a_moderer"] = "Une demande de réservation est à modérer. Connectez-vous sur votre espace pour effectuer la modération.";
Réalisation de la mise à jour sur l'environnement de DEMO
Mise à jour des GRR présents sur la démo :
- grr_CdF
- grr_Charmilles
- grr_Durzy
- grr_JacquesCoeur
- grr_MLeclerc
- grr_RemiBelleau
- grr_Vaucanson
- grr_Vinci
Réalisation de la mise à jour sur l'environnement de PRODUCTION
Mise à jour des GRR présents sur la production : (effectuée le 2 Mars 2010 à 12h10)
- grr_DuhamelDuMonceau
- grr_BenjaminFranklin
mesange:/var/www/grr/maj-grr195c-recia# ./script-maj.sh
###################################################
Mise a jour de GRR 1.9.5c (Recia)
###################################################
Repertoire contenant GRR : /var/www/grr/grr_BloisVienne
Mise à jour terminée
###################################################
Mise a jour de GRR 1.9.5c (Recia)
###################################################
Repertoire contenant GRR : /var/www/grr/grr_Fulbert
Mise à jour terminée
###################################################
Mise a jour de GRR 1.9.5c (Recia)
###################################################
Repertoire contenant GRR : /var/www/grr/grr_PaulLouisCourier
Mise à jour terminée
###################################################
Mise a jour de GRR 1.9.5c (Recia)
###################################################
Repertoire contenant GRR : /var/www/grr/grr18/grr_JeanMoulin
Mise à jour terminée
###################################################
Mise a jour de GRR 1.9.5c (Recia)
###################################################
Repertoire contenant GRR : /var/www/grr/grr_RemiBelleau
Mise à jour terminée
###################################################
Mise a jour de GRR 1.9.5c (Recia)
###################################################
Repertoire contenant GRR : /var/www/grr/grr_AndreAmpere
Mise à jour terminée
###################################################
Mise a jour de GRR 1.9.5c (Recia)
###################################################
Repertoire contenant GRR : /var/www/grr/grr41/grr_SoniaDelaunay
Mise à jour terminée
###################################################
Mise a jour de GRR 1.9.5c (Recia)
###################################################
Repertoire contenant GRR : /var/www/grr/grr_Rollinat
Mise à jour terminée
###################################################
Mise a jour de GRR 1.9.5c (Recia)
###################################################
Repertoire contenant GRR : /var/www/grr/grr_Durzy
Mise à jour terminée
###################################################
Mise a jour de GRR 1.9.5c (Recia)
###################################################
Repertoire contenant GRR : /var/www/grr/grr_cdf
Mise à jour terminée
###################################################
Mise a jour de GRR 1.9.5c (Recia)
###################################################
Repertoire contenant GRR : /var/www/grr/grr_JacquesCoeur
Mise à jour terminée
###################################################
Mise a jour de GRR 1.9.5c (Recia)
###################################################
Repertoire contenant GRR : /var/www/grr/grr28/grr_EdouardBranly
Mise à jour terminée
###################################################
Mise a jour de GRR 1.9.5c (Recia)
###################################################
Repertoire contenant GRR : /var/www/grr/grr28/grr_SilviaMonfort
Mise à jour terminée
###################################################
Mise a jour de GRR 1.9.5c (Recia)
###################################################
Repertoire contenant GRR : /var/www/grr/grr_CamilleClaudel
Mise à jour terminée
###################################################
Mise a jour de GRR 1.9.5c (Recia)
###################################################
Repertoire contenant GRR : /var/www/grr/grr_LesPetitsSentiers
Mise à jour terminée
###################################################
Mise a jour de GRR 1.9.5c (Recia)
###################################################
Repertoire contenant GRR : /var/www/grr/grr_LAV
Mise à jour terminée
###################################################
Mise a jour de GRR 1.9.5c (Recia)
###################################################
Repertoire contenant GRR : /var/www/grr/grr_Charmilles
Mise à jour terminée
###################################################
Mise a jour de GRR 1.9.5c (Recia)
###################################################
Repertoire contenant GRR : /var/www/grr/grr_MaxDeSully
Mise à jour terminée
###################################################
Mise a jour de GRR 1.9.5c (Recia)
###################################################
Repertoire contenant GRR : /var/www/grr/grr_Choiseul
Mise à jour terminée
###################################################
Mise a jour de GRR 1.9.5c (Recia)
###################################################
Repertoire contenant GRR : /var/www/grr/grr_MargueritteDeNavarre
Mise à jour terminée
###################################################
Mise a jour de GRR 1.9.5c (Recia)
###################################################
Repertoire contenant GRR : /var/www/grr/grr_ElsaTriolet
Mise à jour terminée
###################################################
Mise a jour de GRR 1.9.5c (Recia)
###################################################
Repertoire contenant GRR : /var/www/grr/grr_Vaucanson
Mise à jour terminée
###################################################
Mise a jour de GRR 1.9.5c (Recia)
###################################################
Repertoire contenant GRR : /var/www/grr/grr_HonoreDeBalzac
Mise à jour terminée
###################################################
Mise a jour de GRR 1.9.5c (Recia)
###################################################
Repertoire contenant GRR : /var/www/grr/grr36/grr_PierreMarieCurie
Mise à jour terminée
###################################################
Mise a jour de GRR 1.9.5c (Recia)
###################################################
Repertoire contenant GRR : /var/www/grr/grr37/grr_JeanMonnet
Mise à jour terminée
###################################################
Mise a jour de GRR 1.9.5c (Recia)
###################################################
Repertoire contenant GRR : /var/www/grr/grr37/grr_Balzac
Mise à jour terminée
###################################################
Mise a jour de GRR 1.9.5c (Recia)
###################################################
Repertoire contenant GRR : /var/www/grr/grr_vinci
Mise à jour terminée
###################################################
Mise a jour de GRR 1.9.5c (Recia)
###################################################
Repertoire contenant GRR : /var/www/grr/grr_MLeclerc
Mise à jour terminée
###################################################
Mise a jour de GRR 1.9.5c (Recia)
###################################################
Repertoire contenant GRR : /var/www/grr/grr_MauriceGenevoix
Mise à jour terminée
###################################################
Mise a jour de GRR 1.9.5c (Recia)
###################################################
Repertoire contenant GRR : /var/www/grr/grr_FrancoisRabelais
Mise à jour terminée
###################################################
Mise a jour de GRR 1.9.5c (Recia)
###################################################
Repertoire contenant GRR : /var/www/grr/grr_JeanRenoir
Mise à jour terminée
Problèmes rencontrés
Le Global logout ne fonctionnait pas sur Démo. La requête arrivait bien jusqu'au serveur de l'application, elle était traitée par PHPCas, mais celui-ci l'ignorait car l'émetteur de la requête ne faisait pas partie des émetteurs autorisés. En fait, PHPCas partait de l'ip de l'émetteur, et faisait une résolution de nom, qui lui donnait le nom INTERNE de la machine, et non son nom public (demo.esco-portail.org). Pour corriger le problème, il a fallu réorganiser l'ordre des noms d'hôte de la machine (hébergeant l'application), afin que le nom public soit le premier nom d'hôte de la machine.

