我用的是rabl宝石
show.rabl
object @user
attributes :id, :name, :realname, :email我得到了
{"user":{"id":1,"name":"username","email":"mail@mail.com"}}问题是,如果打开http://website.com/users/user.json链接,任何人都可以看到这些信息。
在我的db中,日志记录后的每个用户都有唯一的auth_token字段。
的问题是-我只想通过这个链接- token=yLrUAxWB2szkvx9jBEGv查看这个信息。
发布于 2013-01-17 10:31:10
创建一个检查或使用一些授权宝石(如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
endhttps://stackoverflow.com/questions/14376298
复制相似问题