2010-07-21 10 views
4

J'utilise concevoir comme système d'authentification. Et je veux authentifier l'utilisateur avec nom d'utilisateur avec sous-domaine. Il semble que concevoir nécessite à la fois le nom d'utilisateur et le champ de sous-domaine dans la même table qui n'est pas dans mon cas.
J'ai un champ de sous-domaine dans la table Société tandis que le nom d'utilisateur et mot de passe dans la table UserAccount.
Et il y a relation entre references_many UserAccount et la table de l'entreprise Maintenant, comment puis-je authentifier l'utilisateur à la fois le nom d'utilisateur et sous-domaineà propos de l'authentification de l'utilisateur avec nom d'utilisateur et sous-domaine

S'il vous plaît, aidez-moi.

Répondre

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