declarative_authorization Gem不处理JSON / XML请求

时间:2015-01-04 01:45:59

标签: ruby-on-rails ruby ruby-on-rails-4 declarative-authorization

Rails有点新鲜。我目前正在使用带有declarative_authorization gem的rails 4.1.8。当我从标准浏览器中调用一个受保护的URL时,我得到了我编程到系统中的预期“未授权”错误。如果我从Postman调用相同的网址,我会得到我的数据。

不知怎的,似乎Rails忽略了declarative_authorization,或者它只是不能用任何标题设置为除了接受text / html之外的任何东西。

我的代码如下: 样品控制器。我正在使用filter_access_to :all

class ShiftsController < ApplicationController
protect_from_forgery with: :null_session 
filter_access_to :all

 def index
     qrtStr = 'shift_date between :from and :end'
     if params.has_key?(:from)
       parm = {:from => params[:from]}
     else
       parm = {:from => (Time.now.midnight - 30.day)}
     end
在authorization_rules.rb中

authorization do

role :superadmin do
  has_omnipotence
end

role :admin do
end

role :guest do
  has_permission_on :user_sessions, :to => [:new, :create]
end
role :calendarUser do
  includes :baseUser
  has_permission_on :shifts, :to => [:index, :show]
  has_permission_on :calendar, :to => [:index]
end

routes.rb:

resources :shifts, except: [:new, :edit] do
  patch 'submit', on: :member
  patch 'acquire', on: :member
end

我错过了什么?或者使用rails 4.1.8无法正确执行declarative_authorization

非常感谢

1 个答案:

答案 0 :(得分:1)

他们的.travis.yml表明他们只是在测试Ruby 1.8.7和1.9.3,如果你使用的是更新的红宝石,那么你就是在未知之地。你会做得更好,找到一个更积极维护的宝石。