Projet Socle ENT
Pages enfant
  • Environnements invités multiples

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

Le principe est d'avoir des environnements utilisateurs personnalisés en mode invité, en se basant sur un argument de la requête http d'accès à l'ENT.
Dans cet exemple, l'argument est "uP_guest" et contient le nom du compte profil invité. ======

Modification de PersonManager

...

Les classes qui suivent modifient l'implémentation de PersonManager dans uPortal comme suit :
- création d'un utilisateur "guest" qui a pour nom la valeur de uP_guest s'il existe, sinon org.jasig.portal.security.PersonFactory.guest_user_name dans portal.properties
Elles proviennent de l'université de Yale, YalePersonManager est patchée pour ne pas utiliser un contrôle d'accès sur l'adresse du client par lecture dans une BDD.
  * Copier les classes suivantes dans le répertoire custom/uPortal/source/edu/yale/its/portal/security/provider :
SI:YalePersonFactory.java|YalePersonFactory.javaSI:YalePersonImpl.java|YalePersonImpl.javaSI:YalePersonManager.java.java|YalePersonManager.java.java  * Indiquer dans custom/uPortal/properties/portal.properties l'implémentation de PersonManager à utiliser :
org.jasig.portal.security.PersonManagerFactory.implementation=edu.yale.its.portal.security.provider.YalePersonManager

====== Modification de la servlet guest ======

La servlet d'accès anonyme doit être modifiée pour accepter le paramètre uP_guest :
Vers ligne 99, ajouter :

...

====== Création des profils utilisateurs "invités" ======

Modifier le fichier des profils (dlm.xml) pour distinguer le profil de l'utilisateur "guest" des autres :
  <dlm:fragment name='Anonymes' ownerID='guest-lo' precedence='100'>
    <dlm:audience evaluatorFactory='org.jasig.portal.layout.dlm.providers.PersonEvaluatorFactory'>
      <paren mode="AND">
        <attribute name="username" mode='equals' value='guest'/>
      </paren>
    </dlm:audience>
  </dlm:fragment>
Référencer chaque profil :
  <dlm:fragment name='AnonymesXXX' ownerID='guestXXX-lo' precedence='100'>
    <dlm:audience evaluatorFactory='org.jasig.portal.layout.dlm.providers.PersonEvaluatorFactory'>
      <paren mode="AND">
        <attribute name="username" mode='equals' value='guestXXX-lo'/>
      </paren>
    </dlm:audience>
  </dlm:fragment>
Pour chaque profil invité :
  * Créer un profil dans layout/guestXXX-lo.xml
  * Créer l'utilisateur dans la base uPortal :
  ant user.add -Dusername=guestXXX-lo
Redéployer et relancer uPortal pour prendre en compte les profils
Se connecter en administrateur du portail
Ajouter les profils invités dans le groupe "Anonymes"
Pour chaque profil invité :
  * Importer le profil dans la base :
  ant layout.import -Dusername=guestXXX-lo
  * Se connecter en local avec le nom du profil et changer le thème

====== Accès personnalisé à l'ENT ======

Pour accéder à l'ENT en mode anonyme avec le profil guestXXX-lo, utiliser l'URL :http://ent.univ.fr/Guest?uP_guest=guestXXX-lo