1

このアドレスにjsonデータがあります:

http://localhost:3000/api/v1/apisearch

これらのjsonデータは、grapegemhttps://github.com/intridea/grapeで生成されます

class API_v1 < Grape::API
  version 'v1', :using => :path, :vendor => 'myapp', :format => :json
    get :apisearch do
      Object.search({query: "*#{params[:q]}*"}).map{ |object| {id: object.title, text: object.description } }
    end
 end

select2でこのアドレスからデータを取得する検索エンジンがあります

これは私のcoffescriptファイルです:

jQuery ->
  $('#query_txt').select2
    width: 'resolve'
    allowClear: true
    minimumInputLength: 2
    ajax:
      url: "api/v1/apisearch"
      dataType: 'json'
      data: (term, page) -> {q: term}
      results: (data, page) ->
        results: data

スクリプトは非常に正常に機能していますが、外部リクエストのこのアドレスを保護したいと思います。

http://localhost:3000/api/v1/apisearchtypeがこれらのデータにアクセスできる場合、ユーザーを許可したくありません。これらのデータにアクセスできるのは、自分のアプリケーションから自分の内部検索エンジンだけです。

ブドウから自分のアプリケーションにのみデータにアクセスを制限するにはどうすればよいですか?

ありがとうございました

4

1 に答える 1

0

私はブドウとRailsは初めてですが、グラッパを使用する必要がなく、Railsを使用できる場合は、ここで頭に浮かんだことがあります。

Rails で「リクエスタ」URL を確認できます。それが yourapplication.com からのものである場合は、アクセスを許可し、それ以外の場合は拒否します。

于 2013-03-16T18:59:32.940 に答える