Dossier Technique. Détail des modifications apportées à GRR. Détail des modifications apportées à GRR Le 17/07/2008. Page 1/10



Documents pareils
NOMBRE DE PAGES : 13 NOTE SUR LE MODULE RESERVATIONS ET RESSOURCES PARAMETRAGE

INTERCONNEXION ENT / BCDI / E - SIDOC

INTERCONNEXION ENT / BCDI / E - SIDOC

INTERCONNEXION ENT / BCDI / E - SIDOC

Plateforme PAYZEN. Intégration du module de paiement pour la plateforme Magento version 1.3.x.x. Paiement en plusieurs fois. Version 1.

Utiliser le portail d accès distant Pour les personnels de l université LYON1

Manuel d utilisation du Guichet électronique V2

Business Talk IP Centrex. guide. web utilisateur. pour. les services standards

MANUEL D UTILISATION LIVRET DE L ENSEIGNANT

Créer et partager des fichiers

Portail du Consommateur. Guide d utilisation. Du dépôt de requêtes

HYPERPLANNING EST UN LOGICIEL INDEX EDUCATION

Fédération de compte entre Votre compte Association (VCA) et l application de dépôt des comptes annuels des associations

Documentation Honolulu 14 (1)

Manuel d utilisation de la messagerie.

Sommaire. I.1 : Alimentation à partir d un fichier Access (.mdb)...2

Création, analyse de questionnaires et d'entretiens pour Windows 2008, 7, 8 et MacOs 10

Installation et utilisation du client FirstClass 11

Gestion du parc informatique des collèges du département du Cher. Manuel d utilisation de la solution de gestion de Parc

Logiciel de connexion sécurisée. M2Me_Secure. NOTICE D'UTILISATION Document référence :

GUIDE D UTILISATION ADMINISTRATEUR

Guide d utilisation «Extranet Formation» V3.5

PLATEFORME ANTI-CORRUPTION AU CAMEROUN

Plateforme de support en ligne. Guide d utilisation

ScolaStance V6 Manuel vie scolaire

PARAMETRER LA MESSAGERIE SOUS THUNDERBIRD

PARAMETRER INTERNET EXPLORER 9

Procédures d accès au nouveau réseau sans fil à l aide d un portable (Windows XP) géré par la DGTIC

Plate-forme de travail collaboratif Agorazimut

Manuel d utilisation du site web de l ONRN

Sécurisation des accès au CRM avec un certificat client générique

arcopole Studio Annexe 4 Intégration LDAP et processus d authentification Site du programme arcopole :

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8

Version: 1.1 Date du document: 07 Novembre 2013 N du document: Guide Utilisateur Mandant. Guide utilisateur Mandant Page 1 de 20

BOSS : Bourses régionale du Sanitaire et du Social GUIDE UTILISATEUR ETUDIANT

La carte de contrôle chômage complet

Vos outils CNED COPIES EN LIGNE GUIDE DE PRISE EN MAIN DU CORRECTEUR. 8 CODA GA WB 01 13

solutions entreprises

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

Configuration du nouveau Bureau Virtuel (BV) collaboratif de Lyon I

OFFICE OUTLOOK QUICK START GUIDE

Guide Expert Comptable Production Coala

KWISATZ MODULE PRESTASHOP

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.

LA FEUILLE DE MATCH ELECTRONIQUE(F.D.M.E)

Édu-groupe - Version 4.3

Manuel d utilisation du web mail Zimbra 7.1

AIDE MEMOIRE. Forprev. De l habilitation à la gestion de sessions. Page 1 sur 55

MODE D EMPLOI. Plateforme de réflexion et de recherche de la CIDEGEF pour un modèle de management francophone

1. Création du profil

Débuter avec Easyweb B

[Ministère des Affaires étrangères et du Développement international] DEFI MANUEL UTILISATEUR ESPACE DEMANDEUR

Changement de votre mot de passe

Déploiement des manuels numériques sur tablette. Mode d emploi intégrateur / administrateur

SOMMAIRE. Savoir utiliser les services de l'ent Outils collaboratifs

Paiement sécurisé sur Internet. Tableau de bord Commerçant

Manuel d utilisation de l outil collaboratif

26 Centre de Sécurité et de

Mise en place d un intranet de travail collaboratif. Guide utilisateur

Documentation GRR! (version 1.9.3)

Utilisation du client de messagerie Thunderbird

Manuel d Utilisation Nouvelle Plateforme CYBERLIBRIS : ScholarVox Management

Manuel d'installation de GESLAB Client Lourd

Manuel d Installation et de Configuration Clic & Surf C&S 3.3

ENT ONE Note de version. Version 1.10

Taxe de séjour - Manuel de l utilisateur. Déclaration en ligne. Logiciel 3D Ouest

Pré-requis serveur d'applications AppliDis pour Microsoft Windows Server 2012

Gestion et Réservation de Ressources Documentation 1.Présentation générale de GRR

UTILISER UN SITE COLLABORATIF

WebSSO, synchronisation et contrôle des accès via LDAP

Gestion des accès. Table des matières. Introduction

Outil de planification en ligne pour des créations de rendez-vous ou de sondage

Guide de l utilisateur Communauté virtuelle de pratique en gestion intégrée des risques

Guide utilisateur pour le déblocage de cartes et/ou la modification d un code PIN

9 - Installation RDS sur 2008R2 SOMMAIRE. Chapitre 1 Mise en place RDS sous Windows 2008 R2 2

OSIRIS/ Valorisation des données PORTAIL BO MANUEL UTILISATEUR

SOMMAIRE ÉTAPES OBLIGATOIRES. Récupérer le connecteur... 3

sommaire ÉTAPES OBLIGATOIRES Récupérer le connecteur... 3

Manuel de l administrateur

GUIDE DU SERVICE DE MESSAGERIE VOCALE

ANTIDOTE 8 INSTALLATION RÉSEAU WINDOWS

KWISATZ_TUTO_module_magento novembre 2012 KWISATZ MODULE MAGENTO

GUIDE DE PAIEMENT. Pour Bien Effectuer votre Paiement, veuillez suivre les instructions suivantes :

Documentation du site Mise à jour : Septembre 2013

Manuels numériques et bibliothèque Didier Guide pratique

Module Criteo Tags et Flux pour Magento

Manuel d installation UCOPIA Advance

Manuel utilisateur. des. listes de diffusion. Sympa. l'université Lille 3

Guichet ONEGATE COLLECTE XBRL SOLVABILITE II (S2P) Manuel d utilisateur VERSION /04/2014 ORGANISATION ET INFORMATIQUE SDESS.

La messagerie électronique avec La Poste

Alfresco Guide Utilisateur

TigerPro CRM Application mobile

Prestation électronique de service pour la transmission d un bilan de phosphore

Point 1/8. L accès authentifié à un portail e-sidoc. Septembre 2012 Documentation détaillée V2.1. Sommaire

Manuel de l utilisateur

Cette fonctionnalité est paramétrable et accessible dans le module administration via le menu "Dossier / Administration".

Service des ressources informatiques - Conseil Scolaire de District Catholique Centre-Sud Page 1

Transfert de notices bibliographiques et d autorité en ligne depuis BnF catalogue général Mode d emploi complet

L accès à distance du serveur

Transcription:

Dossier Technique Page 1/10

Sommaire : 1. REPONSE TECHNIQUE A LA DEMANDE 3 1.1. Prise en compte de la dernière version de phpcas 3 1.2. Gestion de la connexion à GRR 3 1.2.1. Récupération des attributs de l utilisateur depuis l annuaire LDAP 3 1.2.2. Gestion de la correspondance profil / statut 5 1.2.3. Connexion à GRR d un nouvel utilisateur 6 1.2.4. Connexion à GRR d un utilisateur déjà connu 7 1.3. Purge des comptes et des réservations 8 1.4. Modification de l entête de GRR 9 1.5. Boutons de connexion/déconnexion originels 9 1.6. Accès aux paramètres des comptes utilisateurs 10 Page 2/10

1. REPONSE TECHNIQUE A LA DEMANDE 1.1. Prise en compte de la dernière version de phpcas GRR supporte l authentification SSO avec CAS mais celui-ci est livré de base sans la librairie phpcas qui permet de mettre en place ce mécanisme. Il a donc fallu télécharger la librairie phpcas (en version 0.6.0-1, la version stable actuelle) à cette adresse http://downloads.sourceforge.net/esupphpcas/phpcas-0.6.0-1.zip, et décompresser le contenu de l archive dans un répertoire nommé «CAS» à l intérieur du répertoire de l application web GRR. Il est a noter qu un bug dans le fichier «cas.php» de la librairie phpcas (survenant avec certaines versions de php 5) a été corrigé pour pouvoir réaliser l intégration. 1.2. Gestion de la connexion à GRR Cette partie regroupe plusieurs demandes : la récupération des attributs des utilisateurs depuis l annuaire LDAP, la correspondance entre profil de l utilisateur (LDAP) et son statut (GRR), la connexion d un nouvel utilisateur à GRR, et la connexion d un utilisateur déjà connu. 1.2.1. Récupération des attributs de l utilisateur depuis l annuaire LDAP Pour récupérer ces attributs, la solution mise en place a été l utilisation de la fonctionnalité CAS V3, solution que le GIP RECIA nous avait demandé de privilégier. Modification de la configuration du serveur CAS : Modification du fichier «deployerconfigcontext.xml» : Modification du bean «attributerepository» afin de récupérer des attributs supplémentaires dans l annuaire LDAP. Modification du bean «serviceregistrydao afin d indiquer au serveur CAS quels sont les attributs à renvoyer, et pour quelle(s) application(s). Modification de la jsp «casservicevalidationsuccess.jsp» : Ajout dans le XML attestant la réussite de l authentification de l utilisateur, de l ensemble des attributs spécifiés précédemment dans le bean «attributerepository» (parcours dynamique des attributs de la map avec leur propriété key). Modification de la librarie phpcas : Modification du fichier «client.php» : Modification de la fonction «validatept()» effectuant la lecture du XML renvoyé par le serveur CAS suite à l authentification de l utilisateur. Rajout de l encodage en UTF8 du XML de réponse de CAS (variable $text_response), pour permettre la récupération d attributs comportant des accents et des caractères spéciaux. Rajout du décodage UTF8 des champs pour permettre ensuite l affichage dans l application GRR. Page 3/10

(exemple : $this->setuid(utf8_decode($uid[0]->get_content()));) Ajout de la lecture des différents attributs retournés en plus des attributs de base. Ajout des différentes variables avec leurs getters et setters, liés aux attributs lus dans le XML. Modification du fichier «cas.php» : Ajout des getters liés aux attributs lus depuis la fonction «validatept()» du fichier «client.php». Modification du fichier «include\cas.inc.php» : Récupération et mapping dans des variables PHP des nouveaux attributs récupérés par le serveur CAS. En plus des noms, prénoms et emails, les attributs ENTPersonFonctions et preferedlanguage sont récupérés. l attribut ENTPersonFonctions est utilisé pour établir la correspondance avec le statut GRR, et preferedlanguage est utilisé pour sélectionner la langue par défaut de l utilisateur s il est présent. Ces deux derniers attributs nécessitent un traitement avant de pouvoir être utilisés. L attribut ENTPersonFonctions contient deux informations à récupérer : le code de la fonction, et son libellé. Deux fonctions «recuperer_codefonction» et «recuperer_libellefonction» ont donc été créées dans le fichier «fonctionsajoutees.inc.php». De plus, une fonction nommée «traiter_language» permettant le traitement de l attribut LDAP «preferedlangage» a été réalisée dans ce même fichier. Ces fonctions sont appelées à la fin du fichier «include\cas.inc.php» comme le montre le code suivant : Page 4/10

1.2.2. Gestion de la correspondance profil / statut Il a été demandé d offrir à l administrateur la possibilité de faire correspondre le profil d un utilisateur (appelé fonction dans l annuaire LDAP), et un statut dans l application GRR. Pour cela, une nouvelle table nommée «grr_correspondance_statut» a été créée. Cette table comprend 3 champs, le code de la fonction, son libellé, et le statut GRR qui lui sera associé. Les informations nécessaires concernant la fonction sont lues dans l annuaire LDAP, dans l attribut «ENTPersonFonctions», qui est un champ multivalué constitué de 5 valeurs. Le code de la fonction et son libellé sont respectivement les 2 ème et 3 ème champs. En plus de la création de la nouvelle table, les modifications effectuées sont les suivantes : Modification du fichier «admin_col_gauche.php» : Ajout de la nouvelle entrée dans le menu, avec contrôle du niveau de droits requis. Création du fichier «admin_corresp_statut.php» : Création d une page permettant de lister les correspondances profil ldap / statut grr déjà connues par l application. Cette page donne la possibilité à l administrateur de supprimer, avec une invite de confirmation javascript, les entrées de son choix de la table des correspondances. De plus, un formulaire d ajout permet d ajouter manuellement des correspondances (Pour l'ajout automatique, Cf.section 1.2.3). Enfin, l administrateur peut, pour une fonction, modifier le statut GRR associé. Cette action n a en revanche aucun impact sur les utilisateurs CAS déjà connus de GRR. Page 5/10

1.2.3. Connexion à GRR d un nouvel utilisateur Quand un utilisateur se connecte pour la première fois à GRR via CAS, celui-ci est ajouté à la table des utilisateurs et est invité à remplir ses informations personnelles. Il a été demandé que les champs de la table soient renseignés automatiquement avec les informations de l utilisateur contenues dans l annuaire LDAP. Pour ce faire, une fois les attributs récupérés à l aide du XML produit par le serveur CAS (Cf. section 1.2.1), les opérations suivantes ont été effectuées : Modification du fichier «index.php» : Il a été nécessaire de passer en paramètre à la fonction «grr_opensession()» les données récupérées par phpcas lors de l authentification de l utilisateur par le serveur CAS. Pour cela, une variable de type tableau, nommée $tab_login a été utilisée. Modification de la fonction «grr_opensession» du fichier «include\session.inc.php» : Que l utilisateur soit présent ou non dans la base locale de GRR, il a été nécessaire de récupérer, grâce à la variable $tab_login citée précédemment, les données lues depuis LDAP (nom, prénom, email, code de fonction, libellé de fonction, langage par défaut). Lorsque l utilisateur n est pas présent dans la base, celui-ci est ajouté. Il a donc fallu modifier la requête d insertion en base, pour y intégrer les nouveaux champs récupérés, comme le langage par défaut et le statut. Le principe de déduction de ces deux champs avant l insertion en base est abordé par la suite. Conformément à la demande, la première connexion de l utilisateur est aussi le moment où son statut est calculé, en utilisant la table de correspondances. Il a été demandé d appliquer un test lors de cette première connexion : si la fonction de l utilisateur ne possède pas d entrée dans la table de correspondance (c'est-à-dire que l application ne saura pas quel statut lui donner), alors une entrée doit être créée pour cette fonction, et le statut «visiteur» doit lui être associé. L administrateur pourra par la suite changer le statut associé à cette fonction. (Cf. section 1.2.2) La fonction réalisant ce test lors de la première connexion a été réalisée dans le fichier «fonctionsajoutees.inc.php» et se nomme «effectuer_correspondance_profil_statut()». Elle est appelée juste après la récupération des informations de l utilisateur comme le montre le code ci-dessous : Il faut noter que si la fonction «effectuer_correspondance_profil_statut()» prend en paramètre le libellé de la fonction en plus de son code, c est pour qu elle puisse réaliser l ajout au cas où la fonction ne soit pas encore connue par GRR. Page 6/10

Si la fonction existe dans la table de correspondance, l utilisateur sera créé avec le statut correspondant. Concernant le langage (attribut preferedlanguage), si l attribut existe, alors les deux premiers caractères sont testés, et en fonction de ceux-ci, l utilisateur se verra attribuer comme langue par défaut «fr», «en», «it», «es», ou «de». La fonction réalisant ce traitement a été créée dans le fichier «fonctionsajoutees.inc.php» et se nomme «traiter_language». Remarque : la conséquence de l attribution automatique des champs est qu au lieu d arriver sur la page de mise à jour de son profil, l utilisateur se verra directement redirigé vers l accueil de l application GRR (l ensemble des données étant rapatriées depuis l annuaire, il ne lui est plus nécessaire de compléter son profil). 1.2.4. Connexion à GRR d un utilisateur déjà connu A la base, GRR ne procède à aucun contrôle de cohérence entre les informations de l annuaire LDAP et les informations stockées dans la table des utilisateurs de GRR. Il a été demandé d effectuer un contrôle des champs nom, prénom, et email pour vérifier qu ils n ont pas été modifiés. Si ceux-ci ont changé, alors il a été demandé de mettre à jour la table des utilisateurs. Modification de la fonction «grr_opensession» du fichier «include\session.inc.php» : Si l utilisateur est présent dans la base, la fonction a été modifiée pour qu un contrôle de cohérence soit effectué entre les données de la base et celles de l annuaire. Pour cela, une requête SELECT a été effectuée sur les noms, prénoms, et emails, pour l utilisateur connecté, et ces champs sont ensuite comparés avec les données réelles de l annuaire. Si une modification est détectée, une requête UPDATE est effectuée pour rétablir la cohérence. Remarque : Les données provenant de cas sont évidemment récupérées de la même manière qu au point précédent, en utilisant la variable $tab_login. Page 7/10

1.3. Purge des comptes et des réservations Il a été demandé pour le passage d une année à l autre, que l administrateur puisse effectuer une purge des comptes et des réservations. De plus, une invite de confirmation pour rappeler le caractère important de l opération a été demandée. Conformément à la demande, il a donc été rajouté un élément dans le menu «Utilisateurs et Accès», nommé «Purge des comptes et réservations». Pour cela, les opérations suivantes ont été effectuées : Modification du fichier «admin_col_gauche.php» : Ajout de la nouvelle entrée dans le menu, avec contrôle du niveau de droits requis. Création du fichier «admin_purge_accounts.php» : Création d un formulaire avec texte explicatif de l action, un bouton de validation, et une invite de confirmation javascript. Modification des fichiers de langue (language\lang.fr, language\lang.en, etc) : Ajout des chaines correspondant au titre de l élément de menu et au texte explicatif. Ajout d une fonction dans le fichier personnalisé «include2\fonctionsajoutees.inc.php» : Cette fonction, «supprimerreservationsutilisateursext()», effectue la suppression des utilisateurs de source «ext» et de toutes les dépendances. La fonction effectue les suppressions nécessaires dans les tables suivantes : grr_entry : table des réservations, grr_entry_moderate : table des réservations modérées grr_repeat : table des périodicités pour les réservations grr_j_mail_user_room : table de jointure des utilisateurs à avertir par mails grr_j_user_area : table de jointure des utilisateurs ayant accès aux domaines restreints grr_j_user_room : table de jointure des utilisateurs gestionnaires de ressources grr_j_useradmin_area : table de jointure des utilisateurs administrateurs de domaines. Ajout d une fonction Javascript dans le fichier personnalisé «include2\fonctions.js» : La fonction «confirmpurge()» se charge d afficher une invite de confirmation javascript, proposant à l utilisateur de continuer son action, ou d annuler l opération, en rappelant son caractère important et irréversible. Remarque : Il a été précisé dans la demande qu aucune connexion ne devait exister lors de l exécution de cette opération, ce qui est bien sur indispensable. Or, il faut savoir que GRR possède une fonction permettant d empêcher tout utilisateur de se connecter à l application, mais aussi de déconnecter tous les utilisateurs présents sur l application, en fermant leur session. Les administrateurs ne sont bien entendus pas concernés. L administrateur devra donc utiliser cette fonctionnalité avant de lancer la purge. L accès à cette fonctionnalité de désactivation des connexions utilisateurs se fait de la façon suivante : Page 8/10

Dans le menu Général à gauche, suivre le lien Configuration Générale, puis choisir en haut l onglet Sécurité/Connexions, choisir ensuite désactiver les connexions puis cliquer sur Envoyer. 1.4. Modification de l entête de GRR L application étant intégrée au portail, il ne faut donc pas donner à l utilisateur la possibilité de se déconnecter de l application. L application a donc été modifiée afin d ôter cette fonctionnalité, puisqu elle se fera par le portail. Pour cela, l opération suivante a été effectuée : Modification du fichier «include\functions.inc.php» : La fonction «print_header()», en charge de l affichage de l entête de l application, a été modifiée. Les lignes responsables de l affichage du lien de déconnexion ont été mises en commentaires. 1.5. Boutons de connexion/déconnexion originels L application sera à l intérieur du portail, couplée avec CAS, il a donc été demandé de masquer le bouton de connexion des pages dans lesquelles il apparait. De plus, il a été demandé de rediriger tout appel direct à la page «login.php» vers le serveur CAS pour l authentification de l utilisateur. Enfin, conformément à la demande, un mécanisme permettant une connexion directe à GRR, sans passer par CAS, a été mis en place. L utilisation d une variable dans un fichier de configuration, comme préconisé, a été privilégiée. Pour cela, les opérations suivantes ont été effectuées : Modification du fichier «include\functions.inc.php» : Les lignes responsables de l affichage du lien de connexion dans la fonction «print_header» ont été mises en commentaires. Modification du fichier «include\config.inc.php» : Ajout d une variable $sso_block qui pourra être mise à true ou à false par l administrateur, afin de permettre ou non l accès à la page de login classique de GRR lorsque l on accède directement à la page «login.php». Modification du fichier «login.php» : Ajout d un test de la variable «$sso_block», qui redirige l utilisateur sur la page du serveur CAS si la variable est à false, ou qui affiche la page de login propre à GRR dans le cas contraire. Plus précisément, l utilisateur est redirigé sur la page «index.php», et c est ensuite cette page qui se charge d afficher la page de login CAS si l utilisateur n est pas déjà authentifié. Page 9/10

1.6. Accès aux paramètres des comptes utilisateurs La page de gestion d un compte utilisateur permet de modifier tous les champs d un compte. Or, puisque les champs sont à présent récupérés depuis l annuaire LDAP (pour les utilisateurs provenant de CAS), il a été demandé d empêcher ces utilisateurs de modifier leurs informations nom, prénom et email. Pour cela, les opérations suivantes ont été effectuées : Ajout d une fonction dans le fichier personnalisé «include2\fonctionsajoutees.inc.php» : Cette fonction «IsAllowedToModifyNameFirstNameMail()» vérifie si l utilisateur provient ou non d une source externe. Modification du fichier «my_account.php» : Appel de la fonction «IsAllowedToModifyNameFirstNameMail()» dans un test, pour afficher les informations de l utilisateur en version modifiable ou non. Page 10/10