...
- 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 *
- 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>
...
Référencer chaque profil :</dlm:fragment>
...
- <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 ======Bloc de code
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