Аутентифицировать пользователей по клиенту, логину и паролю с помощью Authlogic - PullRequest
0 голосов
/ 05 января 2010

У меня есть типичная настройка Authlogic, которую мне нужно улучшить, чтобы требовать ID клиента в дополнение к логину и паролю.

Я немного читал об использовании пользовательского метода поиска, а другой об использовании глобальной переменной для доступа к дополнительному параметру, а третий - о документации об использовании областей, которых, по-видимому, не существует.

Кажется, это должно быть легко, но я не могу найти правильный подход.

Кто-нибудь получил решение?

Ответы [ 2 ]

1 голос
/ 07 января 2010

В вашем классе UserSession добавьте:

find_by_login_method :find_by_customer_id_or_login

В своем классе пользователя создайте этот искатель клиентов:

def self.find_by_customer_id_or_login(login)
  User.find_by_customer_id(login) || User.find_by_login(login)
end

Предполагается, что у пользователя есть и поле customer_id, и поле для входа.

0 голосов
/ 05 января 2010

Добавьте столбец customer_id через миграцию и validate_presence_of: customer_id в вашей модели. Это не имеет ничего общего с authlogic. Если только вы не пытаетесь сделать больше.

...