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.

...

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

...

comme

...

suit

...

:

...


-

...

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

...

:

...


SI:YalePersonFactory.java

...

|YalePersonFactory.java

...

SI:YalePersonImpl.java

...

|YalePersonImpl.java

...

SI:YalePersonManager.java.java

...

|YalePersonManager.java.java

...

  * Indiquer dans custom/uPortal/properties/portal.properties

...

l'implémentation

...

de

...

PersonManager

...

à

...

utiliser

...

:

...


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

...

:
  <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
======

...

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

...