首页 > 解决方案 > 当用户和 ActiveAdmin 具有相同模型时,CanCan gem 的 Active Admin 授权

问题描述

我已经有一个由 cancan gem 处理的具有不同角色的用户模型。现在我已经在具有另一个角色的同一个用户模型中实现了活动管理 gem。现在我不知道如何限制活动的管理员视图。我已经尝试了不同的东西,比如 can :read, ActiveAdmin::Page, name: "Dashboard", namespace_name: "admin" 在 abilty.rb 中为活动的管理员角色,但这陷入了对“/admin”的请求的无限循环并且什么也不显示。提前感谢您的帮助这是我的活动管理员配置

ActiveAdmin.setup do |config|
  config.root_to = 'users#index'
    config.site_title = "Application"

  config.authentication_method = :authenticate_user!

  config.authorization_adapter = ActiveAdmin::CanCanAdapter

  config.cancan_ability_class = "Ability"

  config.current_user_method = :current_user

  config.logout_link_path = :destroy_user_session_path
  config.logout_link_method = :delete

end

标签: ruby-on-railsrubyactiveadmincancancan

解决方案


您是否忘记像这样重定向到仪表板?

config.on_unauthorized_access = :access_denied
class ApplicationController < ActionController::Base
  def access_denied(exception)
    redirect_to admin_dashboard_path, alert: exception.message
  end
end

推荐阅读