ruby-on-rails - 当用户和 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
解决方案
您是否忘记像这样重定向到仪表板?
config.on_unauthorized_access = :access_denied
class ApplicationController < ActionController::Base
def access_denied(exception)
redirect_to admin_dashboard_path, alert: exception.message
end
end
推荐阅读
- wagtail - 关于向 Wagtail 添加脚注的问题
- swift - SwiftUI Calculator 应用程序不进行计算
- javascript - 是的:投射失败后如何获得错误信息?
- c# - 在 XML C# 中保存数据表
- python-3.x - 在 PySimpleGUI 中使用 sg.Tree() 显示目录
- svg - 围绕其中心旋转 SVG 图标
- git - 用于持续交付系统的多个环境的 Github 工作流
- django - 应用程序崩溃错误heroku部署django
- javascript - LinkedIn 官方“分享”按钮功能似乎不起作用
- python - 我已将一个 excel 文件导入 Jupyter,列是堆叠的