关于用户名和子域的用户身份验证

Gag*_*gan 4 subdomain devise

我正在使用devise作为我的身份验证系统.我想用用户名和子域验证用户身份.似乎设计需要同一个表中的用户名和子域字段,而不是我的情况.
我在Company表中有子域字段,而UserAccount表中有用户名和密码.
UserAccount与Company表之间存在references_many关系现在如何使用username和subdomain对用户进行身份验证

请帮帮我.

Sat*_*ish 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
Run Code Online (Sandbox Code Playgroud)