Возможность входа без активации учетной записи с помощью Restful - PullRequest
1 голос
/ 27 февраля 2011

Все остальные аутентификации в моем приложении rails работают, но пользователи могут войти в систему без активации своей учетной записи.

Когда они используют URL-адрес, отправленный им по электронной почте, учетная запись активируется (столбец activ_at обновляется).

Rails 2.3.5, Ruby 1.8.7

Ответы [ 2 ]

1 голос
/ 27 февраля 2011

В модели user.rb есть метод аутентификации, который должен выглядеть следующим образом:

def self.authenticate(login, password)
    return nil if login.blank? || password.blank?
    u = find :first, :conditions => 
        ['email = ? and activated_at IS NOT NULL', login]
    u && u.authenticated?(password) ? u : nil
end

Если учетная запись не была активирована, поле activ_at будет иметь значение NULL, если NULL не позволит пользователювойти в систему, пока учетная запись не будет активирована.

0 голосов
/ 27 февраля 2011

Если я правильно помню, вы должны использовать ключ --include-активации, чтобы заставить его работать с активацией.

Если у вас есть время, я бы посоветовал вам переключиться на Devise для аутентификации,хоть.Это гораздо больше ориентируется на Rails 3.

...