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 ainsi : 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.

Modification de la servlet guest

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

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 :

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"

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