所有寧靜的認證在我的Rails應用程序激活帳戶工作,但用戶能夠登錄沒有激活他們的帳戶。能夠登錄,而無需使用寧靜
當他們使用的帳戶激活時通過電子郵件發送給他們的網址。(activated_at列被更新)。
的Rails 2.3.5,1.8.7紅寶石
所有寧靜的認證在我的Rails應用程序激活帳戶工作,但用戶能夠登錄沒有激活他們的帳戶。能夠登錄,而無需使用寧靜
當他們使用的帳戶激活時通過電子郵件發送給他們的網址。(activated_at列被更新)。
的Rails 2.3.5,1.8.7紅寶石
在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
如果帳戶尚未激活的activated_at領域將是NULL,NULL,如果不允許用戶登錄直到賬戶被激活。
如果我沒記錯的話,你必須使用開關--include激活才能正常使用激活工作。
如果你有時間,我會建議您切換到設計進行驗證,但。它更多地以Rails 3爲導向。
激活是設置。它發送電子郵件,似乎做所有激活的東西,但讓用戶登錄。我會考慮它雖然。我沒有進行身份驗證的初始開發,所以我不確定使用了這個參數。 – 2011-02-27 01:19:39
甚至沒有想到在模型檢查。這是問題。它被評論爲測試。 – 2011-02-27 23:29:30