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)
...
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 a propose donc tenté 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) ...
... mais malheureusement pour autant currentUser.user.username.equals('bonamvin@univ-rouen.fr') ne fonctionne pas par exemple et donc des choses commepas 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@univ-rouen.fr') non plus :-(
Attention cependant, il n'y a plus de validation d'effectuée sur vos expressions ...
à suivre ...