3
我有兩個用戶模型,首先是從遠程數據庫作爲遺留和公司內部的目的。 (員工登錄)。其次是我們的公共註冊和登錄項目,但我想要一個登錄表單。我搜索了很長時間,但有些解決方案讓我感到困惑。設計 - 從兩個模型登錄
一是傳統的樣子(僅用於讀取和驗證):
class CrmUser < ActiveRecord::Base
require Rails.root.join('lib', 'devise', 'encryptors', 'sha1')
# Include default devise modules. Others available are:
# :token_authenticatable, :encryptable, :confirmable, :lockable, :timeoutable, :rememberable, and :omniauthable
establish_connection "crm_data"
set_table_name :users
devise :database_authenticatable, :encryptable, :authentication_keys => [:login]
alias_attribute :encrypted_password, :crypted_password
alias_attribute :password_salt, :salt
# Setup accessible (or protected) attributes for your model
attr_accessible :login, :password, :password_confirmation, :remember_me, :role_id, :first_name, :last_name
第二,公衆和登記:
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :token_authenticatable, :encryptable, :confirmable, :lockable, :timeoutable, :rememberable, and :omniauthable
devise :database_authenticatable, :registerable, :authentication_keys => [:login]
alias_attribute :login, :email
# Setup accessible (or protected) attributes for your model
attr_accessible :login, :password, :password_confirmation, :remember_me, :role_id, :first_name, :last_name
現在我不知道該怎麼做用戶控制器嘗試從第一個模型進行身份驗證,並且當用戶不存在時,轉到第二個模型並再次嘗試。
使用:
- 的Rails 3.1
- 設計1.4.3
編輯:
在設計的維基是一些關於多模型,但我有點困惑,沒有比較複雜的例子。
謝謝。
問候,瑞士雷達
從這個線程http://stackoverflow.com/questions/7254431/devise-authentication-from-two-models我有一個想法它可能工作。但我不知道任何解決方案。以前沒人解決這個問題? – rado