об аутентификации пользователя с помощью имени пользователя и субдомена - PullRequest
4 голосов
/ 21 июля 2010

Я использую devise в качестве системы аутентификации. И я хочу аутентифицировать пользователя с именем пользователя вместе с поддоменом. Похоже, что devise нуждается как в поле username, так и в subdomain та же таблица, что не в моем случае.
У меня есть поле субдомена в таблице компании, а имя пользователя и пароль в таблица UserAccount.
И существует связь между ссылками и значениями между UserAccount и таблицей Company. Теперь, как я могу аутентифицировать пользователя с помощью имени пользователя и субдомена

Пожалуйста, помогите мне.

1 Ответ

9 голосов
/ 19 августа 2010
!#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
...