我知道強制密碼在用戶創建它們一段時間後過期並不是Devise邏輯的一部分,我打算編寫自己的代碼來實現這一點。防止密碼重複使用Devise
它也看起來像強迫用戶不要重用最後一個X(在我的情況下10)密碼將需要手動編碼。
我的想法是,我會創建類似user_passwords表的東西,並在我的代碼中使用邏輯來確保新密碼與該用戶的表中的任何內容不匹配。同時,我會將新密碼插入表中,除非該用戶已有10條記錄,這意味着我會用新值覆蓋最早的那條記錄。表結構將是這樣的:
user_passwords
- USER_ID
- encrypted_password
- created_at
如果任何人有一個更好,更優雅的解決方案來處理這個問題,我感謝你。
我認爲「不要使用任何你最近的10個密碼」是有些武斷的,除非你有一個具體的商業原因。您可以輕鬆執行「不要使您的新密碼與舊密碼相同」。現實情況是,密碼很難記住,而您將要驅動的行爲是讓用戶在便籤上記下密碼。 – 2012-02-08 01:11:47
這是客戶的實際需求。這是一家金融公司。 – 2012-02-08 01:15:41
然後,我不認爲有比你提出的更優雅的解決方案... – 2012-02-08 01:19:17