Bonjour,

 Je me réponds au cas où cela pourrait servir à d'autres :

  J'utilise Cocoon 2.1.10 et le "nouveau" block d'authentification
"auth" (non pas le block déprécié "authentication-fw").
Je voudrais maintenir à jour une liste des utilisateurs identifiés et
actifs à un temps T. Mon but est simplement de contrôler, lors d'une
demande d'identification, s'il n'existe pas déjà un utilisateur actif
correspondant au même identifiant à ce moment là.

Cocoon possède-t-il des outils pour faire cela ?

Apparemment, non, mais on peut s'en sortir en utilisant un "Session Listener" :

1- Ecrire une classe Java implémentant l'interface javax.servlet.http.HttpSessionListener Cette interface propose des méthodes telles que sessionCreated(), sessionDestroyed, etc. Le moteur de servlet (Tomcat testé uniquement) appelle ces méthodes à chaque fois qu'il intervient sur une session. Tout ce qu'il faut pour maintenir à jour une liste des sessions actives. Il suffit alors d'implémenter une méthode statique retournant la dite liste. Il est également possible d'implémenter l'interface HttpSessionAttributeListener pour "écouter" tout ajout/modification/suppression sur des attributs de session. L'interface ServletContextListener permet d'être tenu au courant de l'initialisation de la servlet, ainsi que sa destruction.

2- Déclarer le Listener dans le fichier WEB-INF/web.xml
   <listener>
    <listener-class>my.SessionListener</listener-class>
   </listener>
"Listener" est un élément de premier niveau. Il doit être écrit entre les éléments "web-app" et "servlet".


Voilà, tout ceci a été beaucoup plus rapide à mettre en place que de chercher comment s'y prendre :-)
--
Malo

---------------------------------------------------------------------
Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
Pour vous desinscrire : mailto:[EMAIL PROTECTED]
Autres commandes : mailto:[EMAIL PROTECTED]

Répondre à