2010-01-14 3 views
0

사람을 추적하는 응용 프로그램이 있지만 모든 사람이 제품 사용자 일 가능성이 있습니다. 차라리 User (사용자가 아닌)라는 모델을 갖고 싶지만 User 대신 Person을 사용한다는 Authlogic을 나타내는 방법을 알아낼 수 없습니다."User"라고 불리는 사용자 모델로 Authlogic 사용

나는 지금 막 볼 수없는 것이 분명하다고 확신하지만, 몇 시간 동안 물건을 쏟아 부 었으며 나는 포기했다. :-)

답변

2

Person 모델에 추가하면 모든 것이 잘 작동한다고 생각합니다. 문서에 User이 표시되면 Person

1

으로 변경하십시오. 모델 클래스의 이름은 Authlogic :: Session :: Base에서 파생 된 세션 클래스의 이름에서 유추됩니다.

클래스 UserSession < Authlogic :: Session :: Base는 Users 모델과 함께 사용됩니다.

클래스 PersonSession < Authlogic :: Session :: Base는 사용자 모델에 바인딩해야합니다.

적어도 Authlogic의 빈약 한 문서를 통해 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에서 해제되었다.