簡體   English   中英

沒有:manage:all,RailsAdmin + Devise + CanCanCan角色將不起作用

[英]RailsAdmin + Devise + CanCanCan role not works without :manage :all

我事先為我的英語和紅寶石知識表示歉意:)我使用RailsAdmin創建管理面板,使用Devise進行身份驗證,使用CanCanCan進行授權,因此,我在User中具有三個布爾字段:

add_column :users, :superadmin_role, :boolean, default: false
enter code hereadd_column :users, :manager_role, :boolean, default:

因此,在capability.rb中,我有這個:

class Ability

  include CanCan::Ability

  def initialize(user)
    user ||= User.new # guest user (not logged in)
    can :access, :dashboard    # allow access to dashboard
    can :access, :rails_admin  # access Rails Admin for Admin-users

    if user.superadmin_role?
      can :manage, :all
    end # role works correct

    if user.manager_role?
      can :read, :all   
    end #role works incorrect

  end
end

SUPERADMIN_ROLE可以正常工作,並允許進入RailsAdmin等,但是MANAGER_ROLE不起作用-當用戶嘗試在儀表板中輸入時,顯示“拒絕訪問”錯誤消息:

儀表板訪問被拒絕錯誤

如何為manager_role提供對儀表板和RailsAdmin界面的訪問權限-真是無所適從。

我將很高興獲得任何幫助(准備好的代碼,指向@where的鏈接等)和建設性的批評

cancancan2需要用於RailsAdmin的其他適配器。 請查看此問題: https : //github.com/CanCanCommunity/cancancan/issues/413和此問題: https : //github.com/sferik/rails_admin/issues/2901

在第一個鏈接上,您將找到創建適配器所需的代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM