2010-07-21 72 views
4

我正在使用设计作为我的认证系统。我想 使用用户名和子域身份验证用户。 看来,设计需要在 同一个表中的用户名和子域字段,这是不是我的情况。
我在公司表中有子域名字段,用户名和密码在 UserAccount表中。
还有就是我如何可以验证两者的用户名和子关于用户名和子域认证

请帮我出用户UserAccount和公司表 现在之间references_many关系。

回答

9
!#user.rb 
devise :all, :authentication_keys => [:email, :subdomain] 

OR 

!#config/initializer/devise.rb 
Devise.setup do |config| 
    config.authentication_keys = [ :email, :subdomain ] 
end 

!#login.erb.html 
... 
f.hidden_field :subdomain, :value => current_subdomain 
... 

!#user.rb 
def self.find_for_authentication(conditions={}) 
    find(:first, :conditions => { :companies => { :subdomain => conditions.delete(:subdomain) } }, :joins => :companies) 
end