我正在尝试找出一种很好的方法来检索存储在我的应用程序控制器中键X-FORWARDED-FOR的标头中的 ipadress。我最初的想法是使用Actions和ActionComposition 但我不知道该怎么做。我想我应该在我的 CustomAction 循环中通过标头,用一个以 ipadress 作为参数的案例类包装请求,将 ip 添加到该案例类,然后在控制器中通过 request.ipadress 访问 ipadress。
这是一个好方法和/或你将如何在scala中实现它?
我正在尝试找出一种很好的方法来检索存储在我的应用程序控制器中键X-FORWARDED-FOR的标头中的 ipadress。我最初的想法是使用Actions和ActionComposition 但我不知道该怎么做。我想我应该在我的 CustomAction 循环中通过标头,用一个以 ipadress 作为参数的案例类包装请求,将 ip 添加到该案例类,然后在控制器中通过 request.ipadress 访问 ipadress。
这是一个好方法和/或你将如何在scala中实现它?
Play 可以在没有技巧的情况下管理这种行为。
只需添加trustxforwarded=true
到您的 application.conf,并使用request. remoteAddress
.
所有细节都在这里解释:http ://www.playframework.com/documentation/2.1.1/HTTPServer
我不会说这是一个坏方法。它实际上看起来不错。
但是您是否注意到remoteAddress()
请求标头上有一个方法?如果是的话,很抱歉提到它。如果没有,它可能会帮助你。