我正在使用railscasts認證http://railscasts.com/episodes/250-authentication-from-scratch授權。在保存更改之前,編輯用戶配置文件如何檢查密碼?Rails,編輯時確認密碼
完整的源代碼:https://github.com/ryanb/railscasts-episodes/tree/master/episode-250
我正在使用railscasts認證http://railscasts.com/episodes/250-authentication-from-scratch授權。在保存更改之前,編輯用戶配置文件如何檢查密碼?Rails,編輯時確認密碼
完整的源代碼:https://github.com/ryanb/railscasts-episodes/tree/master/episode-250
你就應該能夠使用保存任何更改之前,對輸入的密碼進行身份驗證。類似於瑞恩對創建:
如果User.authenticate(PARAMS [:電子郵件],則params [:密碼]) #保存更改
設計做什麼,可能是最好的辦法是寫一個您的用戶模型中的update_with_password
方法在您的users_controller
的update
操作中調用。此方法使用update_attributes
來編輯用戶模型,但只有在正確指定當前密碼的情況下才可以。
如果您想了解更多關於構建自己的身份驗證的信息,我建議您查看Devise源代碼(以及其他寶石)。
是的,儘管它有一些限制,例如,如果密碼本身可以在編輯表單中更改,或者電子郵件可以更改或者甚至不是表單的一部分,它會變得更加複雜。 –