...
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.
...
- Copier les classes suivantes dans le répertoire custom/uPortal/source/edu/yale/its/portal/security/provider
...
- :
- 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 } } |
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
...
- :
Bloc de code <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
...
- :
Bloc de code ant user.add
- :
...
* Redéployer-Dusername=guestXXX-lo
...
- 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 :
Bloc de code ant layout.import
- Importer le profil dans la base :
...
-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
...