Grails geo - 位置初始化程序

时间:2011-11-16 10:07:17

标签: grails geoip

我们正在开发grails项目。我们希望根据用户访问我们网站的国家/地区向用户显示数据。 我有一个我存储国家位置的字段。通过使用geoip grails插件。

我的问题是我们是否可以使用国家/地区名称来初始化会话,该网站会在其访问任何控制器/操作之前被过度放置,例如在某个配置文件或其他位置。

1 个答案:

答案 0 :(得分:3)

你应该可以在Filter中完成。像这样的东西,放在grails-app/conf GeoFilters.groovy

class GeoFilters {
  def geoIpService

  def filters = {
    countryCheck(controller:'*', action:'*') {
      before = {
        if( !session.geolocation ) {
          session.geolocation = geoIpService.getLocation( request.remoteAddr )
        }
      }
    }
  }
}

应该(我还没试过)检查会话中是否存在geolocation,如果不存在,则应该从geoIpService获取它。