Question

Bien que cela semble idiot, je n'ai pas réussi à trouver un moyen d'obtenir l'adresse IP du client dans Play 2.0.Il était disponible en 1.2.x sous le nom Http.Request.remoteAddress, mais 2.0 (j'ai principalement vérifié l'API Scala, mais j'ai également fait une vérification rapide de celle de Java) ne semble fournir des informations que sur le côté serveur de la requête dans play(.api).mvc.Request.Y a-t-il quelque chose qui me manque ?Le hack le plus proche auquel je puisse penser en ce moment est de le configurer derrière un proxy inverse, puis de vérifier X-Forwarded-For, mais cela ne fonctionne pas très bien en développement.

Était-ce utile?

La solution

EDIT : Pour revenir à cette réponse, cela a été ajouté dans playframework 2.0.2 :voir l'annonce de sortie sur https://groups.google.com/forum/#!msg/play-framework/Z97GQ2VnR5M/T-STGaeuN68J%5B1-25%5D et plus important encore la documentation de l'API sur http://www.playframework.org/documentation/api/2.0.2/scala/index.html#play.api.mvc.Request

Comme vous pouvez le constater, il existe désormais un support pour Request.remoteAddress

Original:

Il y a actuellement un bug ouvert pour cela dans le tracker : https://play.lighthouseapp.com/projects/82401/tickets/256-add-back-requestheaderremoteaddress

Je pense que pirater les bibliothèques play2.0 pour inclure le patch lié est actuellement la meilleure solution.C'est probablement encore plus propre que d'utiliser un proxy dans le seul but d'ajouter des en-têtes XFF et de les utiliser pour déterminer l'adresse IP.

Autres conseils

Veuillez consulter ce projet Github sur https://github.com/orefalo/play2-xforward

J'ai pris le code de Play1 et je l'ai porté sur Play2, cela devrait fonctionner de la même manière.

Encore un travail en cours...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top