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.
Commentaire: Migrated to Confluence 5.3

...

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 

...

    • -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 :
      Bloc de code
        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

...