Projet esup-ecm

Recherche

Sommaire

Pages enfant
  • Tests UNR RUNN - Vincent bonamy

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
Sommaire

Authentification

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>
  • nxserver/config/shibboleth-config.xml (en fait on a finalement privilégié l'usage d'un template : templates/runn/nxserver/config/shibboleth-config.xml )
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 :

...

...

Groupes

-> 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 commente dans nuxeo-platform-login-shibboleth la validation effective de l'expression dans src/main/java/org/nuxeo/ecm/platform/shibboleth/computedgroups/ELGroupComputerHelper.java (patch ci-joint )
  • mvn package
  • on récupère le jar ainsi créé nuxeo-platform-login-shibboleth-5.4.0.jar (donné ci-joint) pour le mettre à la place du jar initial dans ./nxserver/bundles/

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 ...