ActiveAdmin设置自定义重定向路径(如果未授权)

时间:2018-08-07 11:50:53

标签: ruby-on-rails authorization activeadmin

我有一个非常简单的自定义授权,但是当它失败时,用户将被重定向到active_admin.rb中设置的内容。

config.root_to = 'dashboard#index'

我有一个重定向循环。

我唯一的解决方案是对该行ActiveAdmin::BaseController::Authorization

进行猴子修补

使用

module ActiveAdmin
  class BaseController < ::InheritedResources::Base
    module Authorization
      def redirect_backwards_or_to_root
        ActiveAdmin::Dependency.rails.redirect_back self, my_custom_authorize_failure_path
      end
    end
  end
end

有没有更漂亮的解决方案?

问候凯

1 个答案:

答案 0 :(得分:-1)

config.on_unauthorized_access = :access_denied

然后在application_controller

class ApplicationController < ActionController::Base 
  protect_from_forgery 
  def access_denied(exception) 
    redirect_to define_your_path_here, alert: exception.message 
  end
end