【问题标题】:Rails cancan load_and_authorize_resource not workingRails canscan load_and_authorize_resource 不工作
【发布时间】:2011-07-22 13:53:50
【问题描述】:

我承诺定制一个具有cancan身份验证的项目。 我的康康ability.rb

if user.has_role? :super_admin
  can :manage, :all
elsif user.has_role? :site_admin
  can :manage, [User, Listing]
elsif user.has_role? :manager
  can :manage, Listing, :user_id => user.id
end

我的模型:

User

Listing has_many :listing_types

ListingType belongs_to :listing

现在我创建了一个新模型ListingDetail belongs_to :listing

控制器listing_details 具有load_and_authorize_resource 当我从经理角色访问此页面时,它会重定向到登录页面 (在我的管理命名空间的索引控制器的索引操作中,我重定向到 nil 用户的登录页面) 为什么会这样?

【问题讨论】:

    标签: ruby-on-rails-3 authorization cancan


    【解决方案1】:

    您不能以管理员身份访问 ListingDetail 控制器,因为您只被授予了对 Listing 对象的权限。要仅在您拥有的 Listings 上为 ListingDetails 添加权限,请将以下内容添加到您的经理权限中:

    can :manage, ListingDetail, :listing => {:user_id => user.id}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多