Recherche
| Sommaire |
|---|
Configurations utilisées :
...
| Bloc de code |
|---|
RequestHeader set nuxeo-virtual-host "https://dsi-2.univ-rouen.fr/"
ProxyPass /nuxeo ajp://localhost:8009/nuxeo
<Location "/nuxeo">
AuthType shibboleth
ShibRequireSessionShibRequireSession Off
ShibUseHeaders On
Require shibboleth
</Location>
<Location "/nuxeo/shibLogin">
ShibRequireSession On
Redirect /nuxeo/shibLogin https://dsi-2.univ-rouen.fr/nuxeo
</Location>
|
| Bloc de code |
|---|
<extension target="org.nuxeo.ecm.platform.shibboleth.service.ShibbolethAuthenticationService" point="config"> <config> <uidHeaders> <!--uidHeader idpUrl="url1">uid1</uidHeader> <uidHeader idpUrl="url2">uid2</uidHeader--> <default>eppn</default> </uidHeaders> <loginURL>https://dsi-2.univ-rouen.fr/nuxeoShibboleth.sso/shibLogin<WAYF</loginURL> <logoutURL>https://dsi-2.univ-rouen.fr/nuxeoShibboleth.sso/logout<Logout</logoutURL> <fieldMapping header="eppn">username</fieldMapping> <fieldMapping header="mail">email</fieldMapping> </config> </extension> |
-> l'authentification fonctionne comme cela.
le loginURL n'est pas mis à l'url du WAYF car :
...
-> on déduit le fonctionnement de TestShibbolethComputedGroup.java (doc non trouvée)
...
En effet on va avoir notamment pour des attributs multi-valués type affiliation des choses comme :
affiliation=employee@unicaen.fr;member@unicaen.fr
JUEL (http://juel.sourceforge.net/ ) est utilisé comme implémentation des Unified Expression Language (EL).
Précisément on retrouve la version 2.1.2 de juel (juel-impl-2.1.2.jar) dans le nuxeo nuxeo-dm-5.4.0-tomcat.
Les versions supérieurs de JUEL (la dernière 2.2.2, par exemple) permettent nativement d'invoquer des méthodes dans les EL.
On propose donc d'utiliser cette nouvelle version :
On peut alors utiliser pour la définition des groupes des définitions type 'foo'.matches('foo|bar') et même 'bonamvin@univ-rouen.fr'.equals(currentUser.user.username) ...
... pour autant currentUser.user.username.equals('bonamvin@univ-rouen.fr') ne fonctionne pas ou plutôt la validation de l'expression EL dans l'IHM ne fonctionne pas, on voit passer en effet dans les logs le message suivant :
| Bloc de code |
|---|
2010-11-16 14:50:26,219 WARN [org.nuxeo.ecm.platform.el.DocumentModelResolver]
Property not found: user:username. Document 'null' with title 'null'
and type 'user' does not have any schema with prefix 'user'
|
... le document bidon servant à valider l'expression (validation == exécution de l'expression sur un document bidon) ne convient pas.
-> pour contourner le pb,
On peut alors créer des définitions du type :
currentUser.user.username.matches('.*@univ-rouen.fr')
Attention cependant, il n'y a plus de validation d'effectuée sur vos expressions ...
à suivre ...