4

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

请帮帮我。

4

1 回答 1

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
于 2010-08-19T11:56:16.383 回答