创建自定义Play2操作以从标头中检索IP地址

时间:2013-04-04 11:03:11

标签: scala playframework playframework-2.1

我正在试图找出一种检索存储的ipadress的好方法 在我的应用程序的控制器中的键 X-FORWARDED-FOR 的标题中。我最初的想法是使用ActionsActionComposition,但我不知道该怎么做。我想我 我应该在我的CustomAction循环中通过头文件,用一个以ipadress作为参数的case类包装请求,将ip添加到该case类,然后通过控制器中的request.ipadress访问ipadress。

这是一个好方法和/或你如何在scala中实现它?

2 个答案:

答案 0 :(得分:3)

Play可以毫不费力地管理这种行为。

只需将trustxforwarded=true添加到您的application.conf,然后使用request. remoteAddress获取IP。

这里解释了所有细节:http://www.playframework.com/documentation/2.1.1/HTTPServer

答案 1 :(得分:0)

我不会说这是一种糟糕的方式。它实际上似乎很好。

但您是否注意到请求标头上有remoteAddress()方法?如果是的话,很遗憾地提到它。如果不是,它可能会帮助你。