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