Comment obtenir l'adresse IP lors de la création d'une session?
Dans mon graal application, j'ai implémenté l'interface HttpSessionListener
pour écouter création de session comme indiqué ci-dessous:
class MyHttpSessionListener implements HttpSessionListener {
public void sessionCreated(HttpSessionEvent event) {
log.info "***************** Session created: id= ${event.getSession()?.id}"
}
}
Maintenant, je voudrais journal de l'adresse IP qui est responsable de la création de session.
Comment puis-je le faire?
OriginalL'auteur fabien7474 | 2010-08-29
Vous devez vous connecter pour publier un commentaire.
vous pouvez accéder à la RequestContextHolder et obtenir la valeur
Pourrait tout aussi bien mentionner que cette partie du framework Spring. Ce cours ne sont pas partie de la spécification JSF.
OriginalL'auteur Aaron Saunders
Comme je sais que vous ne pouvez pas utiliser le HttpSessionListener interface.
Vous pouvez obtenir et enregistre l'Adresse IP de "ServletRequest.getRemoteAddr()" mais vous n'avez pas accès à la servlet demande de HttpSessionListener ou de HttpSessionEvent.
Meilleure idée serait d'avoir une javax.servlet.Filtre qui obtient l'adresse IP et le définit comme un attribut de session si ce n'est déjà présente. (Vous pouvez également faire de la journalisation si ce n'est déjà présente).
HttpSession
est la seule instance au sein d'unHttpSessionListener
.OriginalL'auteur Cristian Vat
Vous pouvez également utiliser cette interface dans votre HttpSessionListener : ServletRequestListener
Vous pouvez mettre en œuvre : requestInitialized() comme ceci.
il s fonctionne très bien, l'objet de la requête peut vous apporter la distance de l'adresse, il y a une méthod à faire
OriginalL'auteur Pierre-Olivier Pignon