【问题标题】:ActiveAdmin set custom redirect path if not authorized如果未经授权,ActiveAdmin 设置自定义重定向路径
【发布时间】:2018-08-14 16:52:50
【问题描述】:

我有一个非常简单的自定义授权,但是当它失败时,用户会被重定向到 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

有更好的解决方案吗?

问候凯

【问题讨论】:

    标签: ruby-on-rails authorization activeadmin


    【解决方案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
    

    【讨论】:

    • 不,因为 ActiveAdmin BaseController 被硬编码为 active_admin_root,这是一个配置变量,这些没有帮助
    猜你喜欢
    • 2014-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-18
    • 1970-01-01
    • 2021-04-21
    相关资源
    最近更新 更多