1

私はrablgemを使用しています

show.rabl

object @user
attributes :id, :name, :realname, :email

そして、私は得る

{"user":{"id":1,"name":"username","email":"mail@mail.com"}}

問題は、 http://website.com/users/user.jsonリンクを開くと、誰でもこの情報を見ることができるということです。

私のデータベースでは、ロギング後の各ユーザーに一意のauth_tokenフィールドがあります。

質問は-このリンクでのみこの情報を見たい-http ://website.com/users/user.json?auth_token= yLrUAxWB2szkvx9jBEGv

4

1 に答える 1

1

チェックを作成するか、のような承認gemを使用しcancanます。

あなたが把握できるように生の例(テストされていない、電話でそれを書いた...):

class MyController < ApplicationController
  before_filter :check_token_if_json
  respond_to :html, :json

  def show
    @user = User.find params[:id]

    respond_with(@user)
  end

  private

  def check_token_if_json
    if params[:format] == 'json'
      raise "Access denied" and return unless params[:token] == 'my_required_token'
    end
end
于 2013-01-17T10:31:10.930 に答える