CanCan 是否使用活动管理员用户?

发布于 2024-11-25 09:08:55 字数 240 浏览 1 评论 0原文

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

那么,如何让 CanCan 正确获取已登录的管理员用户呢?

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

I'm using Devise and CanCan for authorization on the frontend of a Rails 3 app. I also have Active Admin as the interface for the backend. I'm trying to create different roles for admins in the backend. Both ends have a login form that uses different 'user' models & tables. The problem is that CanCan fetches the current user from the frontend (grabbing the current user object) and uses that to see if someone in the backend has the correct permissions.

So, how I can have CanCan correctly grab the admin user that's logged in?

If anyone needs more information, I'll be glad to supply it.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

半枫 2024-12-02 09:08:55

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

查看Active Admin 文档后,

设置控制器应调用的方法来对当前用户进行身份验证:

  # 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 更改默认值
如果您仍然无法得到它,请发布您的问题,您被卡住的地方。

I have not used ActiveAdmin before, but have used Devise and Cancan in a couple of projects before.

Having looked at Active Admin Documentation,

Set the method that controllers should call to authenticate the current user with:

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

Set the method to call within the view to access the current admin user

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

You can override Cancan behaviour in your application, by looking at :current_admin_user instead of :current_user.

Refer here Cancan changing defaults.
If you still can't get it, post your problems, where you are stuck.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文