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