[英]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.