我有一个非常简单的自定义授权,但是当它失败时,用户将被重定向到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
有没有更漂亮的解决方案?
问候凯
答案 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