仅允许来自某个国家(工作示例)的访问需要缓存解决方案

时间:2013-10-02 10:34:59

标签: ruby-on-rails ruby-on-rails-3 caching

需要基于国家/地区的支票的追逐解决方案。仅允许根据访问者所在国家/地区访问Rails应用程序。

我已经实现了以下代码:

allowed_countries:  ['US', 'FR']

def check_country

  country         = GeoIP::Country.new(APP_CONFIG['geocountry'])
  country_result  = country.look_up(request.remote_ip) if Rails.env.production?
  country_result  = country.look_up("your_hardcoded_ip_here") if Rails.env.development?
  @country_code = country_result[:country_code]

  if APP_CONFIG["allowed_countries"].include?(@country_code)
    raise("accepted country")
  else
    raise("failed country")
  end

end

完美无瑕地工作(你需要geoip数据库,这是支付搜索maxmind geoip)

但是

我在之前的过滤器中,需要一个好的缓存解决方案,因此不会在每次请求时调用

有什么想法吗?

0 个答案:

没有答案