我爲我的身份驗證系統實施了authlogic。我希望是否有方法通過「用戶名」或「電子郵件」登錄用戶。此處提供的解決方案http://goo.gl/Ato1不起作用,因爲我在數據庫中沒有「登錄」字段。配置authlogic使用「用戶名」或「電子郵件」登錄
那麼,我錯過了數據庫中的「登錄」字段?或者有沒有其他的方式來處理它?
登錄應由用戶名或電子郵件發生......
我爲我的身份驗證系統實施了authlogic。我希望是否有方法通過「用戶名」或「電子郵件」登錄用戶。此處提供的解決方案http://goo.gl/Ato1不起作用,因爲我在數據庫中沒有「登錄」字段。配置authlogic使用「用戶名」或「電子郵件」登錄
那麼,我錯過了數據庫中的「登錄」字段?或者有沒有其他的方式來處理它?
登錄應由用戶名或電子郵件發生......
你試試這個:
class UserSession < Authlogic::Session::Base
find_by_login_method :find_by_username_or_email
end
和user.rb
def self.find_by_username_or_email(login)
find_by_username(login) || find_by_email(login)
end
#note login is only the parameter name and does not refer to your model
y那工作...!我想在那裏登錄是數據庫中的一個領域...謝謝! – Madhusudhan 2010-08-11 16:31:38
有一個流行的authlogic教程,他們使用登錄作爲用戶的主要帳戶用戶名字段。因此,討論鏈接到登錄的解決方案並且是用戶模型的一個字段。也許它會導致混淆 - 你用登錄登錄...因此我的評論是我的答案中的一個參數。 http://github.com/binarylogic/authlogic_example – mark 2010-08-11 19:37:22
那麼,登錄來源,如果不從數據庫? – 2010-08-10 23:26:09
它只是一個參數!它不在模型中... – Madhusudhan 2010-08-11 18:03:22