1
我在這個地址的JSON數據:restric訪問JSON數據和軌道3
http://localhost:3000/api/v1/apisearch
這些JSON數據與葡萄寶石https://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/apisearch
可以訪問這些數據,我不想讓用戶。只能從我自己的應用程序中訪問我的內部搜索引擎中的這些數據。
如何限制訪問數據僅限於我自己的葡萄申請?
謝謝
謝謝,你能否在你的回覆中粘貼一個例子?我在https://groups.google.com/forum/#!topic/ruby-grape/ZvXBQD4bFms和Daniel Doubrovkine上提出了同樣的問題,葡萄的創造者說我不可能。如果您可以粘貼代碼解決方案將會有所幫助。謝謝 – hyperrjas 2013-03-17 03:16:18
我在那裏添加了它。將有興趣瞭解你如何決定解決你的問題。 – Yuri 2013-03-26 04:47:58
謝謝尤里,我已經嘗試過https://github.com/udzura/rack-block,但它不可能從本地主機。我不知道是否需要真正的域名。如果你知道一個真實例子的修復,對其他用戶會非常有用。非常感謝你! – hyperrjas 2013-03-26 09:21:48