ruby-on-rails - 如何使用 RailsAdmin.authorize_with 方法?

标签 ruby-on-rails warden

我安装了 rails admin gem,并让它很容易地与 Devise 一起工作。我想通过 bool 值授权用户,因为并非所有用户都是管理员。尽管我不确定将代码放在哪里或它应该如何工作。我从自述文件中获取了代码,目前有:

RailsAdmin.authenticate_with do
  redirect_to root_path unless request.env['warden'].user.is_admin?
end

但是 .user 方法调用出现 nil,所以 is_admin?失败。

关于如何设置它有什么建议吗?

最佳答案

意识到我只需要在 application_controller 中使用它

RailsAdmin.authorize_with do
  redirect_to root_path unless warden.user.is_admin?
end

关于ruby-on-rails - 如何使用 RailsAdmin.authorize_with 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5196807/

相关文章:

ruby-on-rails - Ruby on Rails - 延迟作业 - 作业队列未添加到数据库中

ruby-on-rails - Rails - 乐观锁定总是触发 StaleObjectError 异常

mysql - 使用 Rails/Mac OS X 运行什么 mysql 客户端?

ruby-on-rails - 未捕获的抛出 :warden in Devise Testing

ruby-on-rails - 我如何确定使用哪种 Devise/Warden 策略来验证/登录用户?

ruby-on-rails - Rails 邮件程序没有 View

ruby-on-rails - 连接两个 rails 模型

ruby-on-rails - 随机设计注销问题

ruby-on-rails - Rails/Devise - 确定用户 session 何时到期

ruby-on-rails - Ruby Rack 中间件从反向代理丢失 warden session