rails应用程序中的多个设计认证领域:允许这样做的设置是什么?

时间:2013-07-21 15:41:33

标签: ruby-on-rails devise activeadmin

我有一个简单的rails应用程序;它有一个设计认证机制。然后我添加了activeadmin,它带来了基于设计的身份验证机制。

关于合并两个模型还有其他问题和答案。这个问题是关于哪个设置使两个身份验证领域不同。

实施例。我在管理页面中执行登录:

localhost:3000/admin

此处用户模型为AdminUser。

然后我尝试转到常规(非活动管理员)页面:

localhost:3000/documents

此处用户模型为User。

此处,如果我测试current_user变量,则为nil,而不是AdminUser的实例。那就是:两个认证区域(我使用的是单词领域,但我不知道它是否正确)保持不同。

我在activeamdin初始化程序中搜索过,但是我找不到包含创建不同“身份验证领域”信息的设置。

更新1(和可能的答案):

它们并不明显。

如果我测试current_admin_user,它包含和AdminUser实例。

1 个答案:

答案 0 :(得分:1)

你有两个模型User和AdminUser与两个独立的数据库表关联,对吗?

您在routes.rb?

中是否有单独的AA和用户模型路由

最后,您必须为User < AR::Base模型设置设计设置(AA用户模型已随activeadmin gem一起提供)

在这种情况下,通过User和AdminUser模型的身份验证将根据您设置的路线分开,为您提供所需的“领域”..

或者我没有得到问题......

current_admin_user帮助器为您提供AdminUser实例

current_mega_super_user帮助器会为您提供MegaSuperUser个实例(默认情况下)