Активная авторизация администратора с помощью драгоценного камня CanCan, когда у пользователя и ActiveAdmin одинаковая модель - PullRequest
0 голосов
/ 06 апреля 2020

У меня уже была модель User с различными ролями, которые обрабатывает cancan gem. Теперь я реализовал активную панель администратора в той же модели пользователя с другой ролью. Теперь я не мог понять, как ограничить активных просмотров администратора. Я пробовал разные вещи, такие как can :read, ActiveAdmin::Page, name: "Dashboard", namespace_name: "admin" в abilty.rb для роли активного администратора, но это застряло в бесконечном l oop запросов к "/ 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

1 Ответ

1 голос
/ 24 апреля 2020

Вы забыли перенаправить на панель инструментов вот так?

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