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

时间:2010-07-21 11:03:56

标签: subdomain devise

我使用devise作为我的身份验证系统。我想 使用用户名和子域验证用户。 似乎设计需要用户名和子域字段 同一张表不在我的情况下。
我在公司表中有子域名,而用户名和密码在 UserAccount表。
UserAccount和Company表之间存在references_many关系 现在,我如何使用用户名和子域

对用户进行身份验证

请帮帮我。

1 个答案:

答案 0 :(得分: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