Вопрос

Пока это звучит глупо, я не смог найти способ получить IP клиента в Play 2.0.Он был доступен в 1.2.x как Http.Request.remoteAddress, но 2.0 (я в первую очередь проверил SCALA API, но я тоже проделал быструю проверку Java Only), только предоставляет информацию о стороне сервера в play(.api).mvc.Request.Есть ли что-то, что мне не хватает?Ближайший взломать, который я могу подумать, о правой, теперь устанавливает его за обратным прокси-сервером, а затем проверять X-Forwarded-For, но это не работает слишком хорошо в разработке.

Это было полезно?

Решение

Редактировать: возвращение к этому ответу, это было добавлено в PlayFramework 2.0.2: см. Объявление о выпуске на http://groups.google.com/forum/#!msg/play-framework/z97gq2vnr5m/t-stgaeun68j%5b1-25%5d и что более важно Документация API в http://www.playframework. org / Документация / API / 2.0.2 / Scala / index.html # Play.api.mvc.request

Как вы можете видеть, теперь поддерживается поддержка Request.remoteAddress

Оригинал:

В настоящее время в трекере открывается ошибка: HTTPS: // Play .LightHouseApp.com / Проекты / 82401 / Билеты / 256-Add-Back-requestheaderremoteaddress

Я думаю, что взлома библиотек Play2.0, чтобы включить связанный патч, в настоящее время лучшее ставку. Вероятно, это все еще более чище, чем использовать прокси с единственной целью добавления заголовков XFF и используя их для определения IP.

Другие советы

Пожалуйста, проверьте этот проект GitHub в https://github.com/orefalo/play2-xforward

Я взял код из PLAY1 и портировал его в Play2, он должен работать то же самое.

Все еще работа в процессе ...

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top