1

私たちはgrailsでプロジェクトを開発しています。また、ユーザーがどこからウェブサイトにアクセスしているかに応じて、ユーザーにデータを表示したいと考えています。国の場所を保存するフィールドがあります。geoip grails プラグインを使用する。

私の質問は、サイトが超過している国名でセッションを初期化してから、コントローラー/アクションにヒットする前に、たとえば、構成ファイルまたは他の場所でセッションを初期化できるかということです。

4

1 に答える 1

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.

于 2011-11-16T10:18:20.670 に答える