【发布时间】:2012-01-29 20:28:07
【问题描述】:
所以我在这里有一个有点棘手的组合
Company has many Users
User belongs to Company
使用设计管理用户以进行身份验证
class User < ActiveRecord::Base
belongs_to :company
devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable
您可以作为用户登录并创建所有属于该公司而不是用户的对象,例如:Text。 (company.texts)
现在我使用 acts_as_api gem 创建了一个简单的 API。
为此,我只需要修改我的文本控制器 f.e.表演动作。
class TextsController < ApplicationController
load_and_authorize_resource
def show
#@text = Text.find(params[:id])
respond_to do |format|
format.html
format.json { render_for_api :texts_all, :json => @text }
end
这在网站上工作得很好。
问题是API。通过用户模型访问 api 时,我不想进行身份验证。该公司确实有一个名为:hash的属性,我想在 API 中将其用于身份验证。
我不知道如何使用设计(或任何其他方法)来实现这一点。
所以默认情况下,设计希望用户登录,因为我的控制器中的 load_and_authorize_resource 对 html 响应很好,但对 json 响应没有。
有什么想法吗?
感谢您阅读本文。如果有不清楚的地方,请发表评论!
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 api authentication devise