【发布时间】:2011-10-09 08:19:49
【问题描述】:
我正在使用 Devise 和 CanCan 在 Rails 3 应用程序的前端进行授权。我也有 Active Admin 作为后端的接口。我正在尝试为后端的管理员创建不同的角色。两端都有一个使用不同“用户”模型和表的登录表单。问题是 CanCan 从前端获取当前用户(获取当前用户对象)并使用它来查看后端中的某人是否具有正确的权限。
那么,我如何才能让 CanCan 正确获取已登录的管理员用户?
如果有人需要更多信息,我很乐意提供。
【问题讨论】:
-
您为什么不想只限制除管理员角色之外的所有人对后端的访问?比你不需要拆分用户模型等。
-
因为 Active Admin 为其管理员用户使用单独的模型和表。它使用 AdminUser 模型,而站点的其余部分使用 User 模型。之所以这样设置,是因为由于系统的特定原因,数据库有两个截然不同的表,分别是管理员用户和帐户用户。
-
@Brady 还请查看this question 的评论中提到的博客文章。那里描述了如何合并
AdminUser和User模型。
标签: ruby-on-rails-3 devise authorization cancan