2012-07-17 101 views
2

在我的Rails應用程序中,我使用設計爲我的身份驗證系統。我有一種情況,我想使用基於用戶密碼的密鑰來加密某些數據。我能想到的最簡單的方法是在成功登錄的過程中,從其純文本密碼(從登錄表單傳入)中生成用戶的私鑰並將其存儲在用戶的會話中。我並不想讓用戶多次輸入密碼。設計:成功登錄後鉤

設計提供了一種方法來指定成功登錄後的回調函數嗎?還是有更好的方法來做到這一點?

回答

9

http://rubydoc.info/github/plataformatec/devise/master/Devise/Models/DatabaseAuthenticatable#after_database_authentication-instance_method

在你使用其中設計創建after_database_authentication實例方法的用戶模型。

+0

該方法是否可以訪問純文本密碼? – jasonlfunk 2012-07-17 16:52:05

+0

與上面相同的問題是通過此方法提供的純文本密碼? – MichaelTaylor3D 2015-02-13 18:52:03

+0

@jasonfunk作爲參考,訪問純文本密碼的唯一方法是在創建用戶記錄之前從'resource_params'或類似內容獲取它。記錄存儲並登錄後,無法檢索純文本版本。另請參閱:http://stackoverflow.com/questions/15795120/displaying-user-password-with-devise-confirmation-page – nicholasklick 2015-02-18 22:06:42