2010-02-09 3 views
0

J'ai implémenté partiellement une solution en utilisant un filtre Grails et un écouteur de session qui m'a demandé de modifier le fichier web.xml. L'écouteur de session me dit quand la session est finie, et le filtre de grails m'indique quand n'importe quel contrôleur a été appelé pour la première fois avec un utilisateur authentifié.Capture des tentatives de connexion/déconnexion et de connexion avec Grails et le plugin Acegi

Il m'a semblé que les deux étaient nécessaires parce que les grails ou le plugin acegi crée automatiquement une nouvelle session donc j'ai eu besoin du filtre Grails pour déterminer quand la session a effectivement un utilisateur authentifié. Je dis tout cela pour dire, est-il une approche plus facile qui ne nécessite pas un filtre et un sessionListener. Je cherche simplement à nettoyer le code alors quand je dois y revenir plus tard, cela aura toujours du sens

Répondre

2

Les événements sont déclenchés à la connexion, donc c'est votre meilleur pari pour le suivi de connexion - la création de session sera souvent plus tôt que la connexion si Déconnectez-vous en naviguant sur le site pendant un certain temps avant de vous connecter. Voir cette page qui parle des gestionnaires pairs:

La déconnexion est plus délicate car les utilisateurs peuvent cliquer explicitement sur un lien de déconnexion ou simplement fermer leur navigateur. S'ils ferment le navigateur, leur session expirera, mais cela prendra 30 minutes après leur dernier clic (sauf si vous avez changé la valeur par défaut).

Si vous voulez mettre un hook pour une déconnexion explicite, enregistrez un LogoutHandler comme décrit dans http://grails.org/AcegiSecurity+Plugin+-+Customizing+with+SecurityConfig dans la section "Logout Handlers".

+0

merci encore, je suppose que j'aurais dû lire toute la documentation des plugins! –

Questions connexes