| Astuce | ||
|---|---|---|
| ||
...
Sommaire :
| Sommaire | ||
|---|---|---|
|
...
La génération des liens directs s'appuie sur le bean urlGenerator, déclaré dans le fichier de configuration /properties/urlGeneration/urlGeneration.xml.
Ce bean doit implémenter l'interface UrlGenerator, qui possède les méthodes suivantes :
| Bloc de code |
|---|
String url guestUrl(final Map<String, String> params); String guestUrl(); String casUrl(final Map<String, String> params); String urlcasUrl(); String urlViaCasshibbolethUrl(final Map<String, String> params); String urlViaCasshibbolethUrl(); |
Comme on le voit, il existe des méthodes pour générer des URLs vers l'application directement (avec ou sans paramètres) et d'autres en passant par un serveur CAS.
Les URLs construites seront différentes selon que l'on est en mode portlet ou servlet, une implémentation est prévue pour chacun des cas.
Configuration en mode portlet
Il faut en mode portlet spécifier :
...
Le paramètre uportalFunctionnalName est le nom sous lequel le canal de la portlet a été publié dans uPortal.
Configuration en mode servlet
Il faut en mode servlet spécifier :
...
| Bloc de code |
|---|
<bean
id="urlGenerator"
class="org.esupportail.commons.services.urlGeneration.ServletUrlGeneratorImpl"
>
<property
name="casLoginUrlserlvetCasLoginUrl"
value="https://cas.domain.edu/login?service=%s" />
<property
name="servletUrl"
value="http://application.domain.edu:port/path" >
</bean>
|
L'URL du serveur CAS (casLoginUrl), facultative, est utilisée par les méthodes urlViaCas() ; dans le cas où elle est omise (quand il n'y a pas d'authentification CAS), les méthodes urlViaCas() lancent une exception. Le motif %s est remplacé à l'exécution par l'URL de l'application, pour le retour du navigateur après l'authentification.
Exemple
Supposons que l'on veuille générer une URL directe vers l'application qui l'amène directement sur une page montrant les caractéristiques d'un utilisateur. Nous prenons les paramètres page (auquel nous donnerons la valeur showUser) et userId (auquel nous donnerons comme valeur l'identifiant de l'utilisateur dont on veut afficher les caractéristiques).
...