我试图在我的控制器中要求授权 purcahses_controller.rb 这只是一个带有 Show Edit Destroy 的订单模型。我可以在 active_admin 中查看它,url 是 localhost/admin/purchases。但问题是我也可以在 localhost/purchases 上查看它。它列出了所有订单并允许所有功能。如果用户没有登录,我想用一个简单的未经授权的消息来路由到 rooturl。
问问题
668 次
2 回答
3
您可以执行以下操作,它将为您提供重定向到您认为合适的任何路径的选项。
在文件中
配置/初始化程序/active_admin.rb
进行以下更改
config.authentication_method = :authenticate_active_admin_user!
然后在您的应用程序控制器中添加如下内容:
class ApplicationController < ActionController::Base
protect_from_forgery
def authenticate_active_admin_user!
authenticate_user!
unless current_user.superadmin?
flash[:alert] = "Unauthorized Access!"
redirect_to "/admin/login"
end
end
end
在您的 purchase_controller 中添加以下 before_filter 行:
before_filter :authenticate_active_admin_user!
希望这会有所帮助!〜凯文
于 2013-01-07T20:32:05.120 回答
0
authenticate_active_admin_user
使您可以访问管理员身份验证用户,这将引导您获得授权,无论您在管理员中调用什么。
controller do
skip_before_action :authenticate_active_admin_user, only: :action
end
https://github.com/activeadmin/activeadmin/blob/master/lib/active_admin/base_controller.rb#L38
于 2019-08-13T23:16:35.007 回答