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.

...

  • Copier les classes suivantes dans le répertoire custom/uPortal/source/edu/yale/its/portal/security/provider :

SI:YalePersonFactoryYalePersonManager.java|YalePersonFactory.javaSI:

YalePersonImpl.java|YalePersonImpl.javaSI:YalePersonManager.java.java|YalePersonManager.java.java  *

YalePersonFactory.java

  • Indiquer dans custom/uPortal/properties/portal.properties l'implémentation de PersonManager à utiliser :
    Bloc de code
    
    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 :
Bloc de code
String targetFname = request.getParameter("uP_fname");String targetArgs = request.getParameter("uP_args");

// Multi Guests : add uP_guest parameter
String targetGuest = request.getParameter("uP_guest");

* Vers ligne 127, ajouter :

Bloc de code
if (targetFname != null) {
	redirectTarget = redirectTarget + "?uP_fname=" + URLEncoder.encode(targetFname, "UTF-8");
	if (targetArgs != null) {
 		redirectTarget = redirectTarget + "&uP_args=" + URLEncoder.encode(targetArgs, "UTF-8");
 	}
}

// Multi Guests : add uP_guest parameter

if (targetGuest != null) {
	if (targetFname != null) {
		redirectTarget = redirectTarget + "&uP_guest=" + URLEncoder.encode(targetGuest, "UTF-8");
} else {
	redirectTarget = redirectTarget + "?uP_guest=" + URLEncoder.encode(targetGuest, "UTF-8");                 }
}

...

Création des profils utilisateurs "invités"

...

  • Modifier le fichier des profils (dlm.xml) pour distinguer le profil de l'utilisateur "guest" des autres :
    Bloc de code

...

  • 
      <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
    Bloc de code
    ====== 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