You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users-fr@cocoon.apache.org by Malo Pichot <ma...@ajlsm.com> on 2008/02/25 08:45:02 UTC

Re: utilisateurs actifs

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:users-fr-unsubscribe@cocoon.apache.org
Autres commandes : mailto:users-fr-help@cocoon.apache.org