将Authlogic与未被称为“用户”的用户模型一起使用

时间:2010-01-14 00:42:00

标签: ruby-on-rails authlogic

我有一个跟踪人员的应用程序,但所有这些人都可能是该产品的用户。我宁愿拥有名为Person(而不是User)的模型,但似乎无法弄清楚如何向Authlogic表明我正在使用Person而不是User。

我确信这是显而易见的,我只是没有看到,但我已经倾倒了好几个小时了,我放弃了。 : - )

3 个答案:

答案 0 :(得分:2)

我认为你可以在acts_as_authentic模型中添加Person,一切都应该正常。如果您在文档中遇到任何说User的内容,请将其更改为Person

答案 1 :(得分:2)

您只需在会话类中使用authenticate_with方法,如下所示:

class CaseWorker < ActiveRecord::Base 
 acts_as_authentic do |c| 
   c.session_class = 'Session' 
 end 
end 

class Session < Authlogic::Session::Base 
  authenticate_with CaseWorker 
end 

以上代码取自this discussion

答案 2 :(得分:1)

模型类的名称是从您从Authlogic :: Session :: Base派生的会话类的名称推断出来的。

class UserSession&lt; Authlogic :: Session :: Base与用户模型一起使用。

class PersonSession&lt; Authlogic :: Session :: Base应该绑定到您的Person模型。

至少,经过一小时的挖掘Authlogic糟糕的文档后,这对我有用。