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 targetArgs = request.getParameter("uP_args");

	    // create the redirect URL, adding fname and args parameters if necessary
		String redirectTarget = null;
		if (targetFname == null){
			redirectTarget = request.getContextPath() + "/" + redirectString;
		} else {

Par :

	    String targetArgs = request.getParameter("uP_args");

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


	    // create the redirect URL, adding fname and args parameters if necessary
		String redirectTarget = null;
		if (targetFname == null) {
			if (targetGuest == null) {
				redirectTarget = request.getContextPath() + "/" + redirectString;
			} else {
				redirectTarget = request.getContextPath() + "/tag.idempotent." + redirectString;
				redirectTarget = redirectTarget + "?uP_guest=" + URLEncoder.encode(targetGuest, "UTF-8");
			}
		} else {

Création des profils utilisateurs "invités"

  ant db.import...

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