CanCan能否使用Active Admin用户?

时间:2011-07-20 12:02:02

标签: ruby-on-rails-3 devise authorization cancan

我正在使用Devise和CanCan对Rails 3应用程序的前端进行授权。我还有Active Admin作为后端的接口。我正在尝试为后端的管理员创建不同的角色。两端都有一个使用不同“用户”模型的登录表单。表。问题是CanCan从前端获取当前用户(抓取当前用户对象)并使用它来查看后端中的某个人是否具有正确的权限。

那么,我怎样才能让CanCan正确抓取登录的管理员用户?

如果有人需要更多信息,我很乐意提供。

1 个答案:

答案 0 :(得分:9)

之前我没有使用ActiveAdmin,但之前曾在几个项目中使用Devise and Cancan

看了Active Admin Documentation

设置控制器应调用的方法,以使用以下方式验证当前用户:

  # config/initializers/active_admin.rb
  config.authentication_method = :authenticate_admin_user!

设置要在视图中调用的方法以访问当前管理员用户

  # config/initializers/active_admin.rb
  config.current_user_method = :current_admin_user

您可以通过查看:current_admin_user代替:current_user来覆盖应用中的Cancan行为。

请参阅此处Cancan changing defaults 如果你仍然无法得到它,请发布你遇到的问题。