2015-09-17 40 views
0

我如何可以添加自定義密碼驗證?我可以通過查看一些事情,但我想一些自定義的驗證,而添加到控制器和/或模式,不允許使用的最後5個密碼。任何指針將非常感激!vNext AspNet.Identity自定義密碼驗證

回答

0

第一步,你就必須保持每當他們更改用戶密碼的歷史。

由於口令散列你將不得不使用IPasswordHasher散列所提供的新密碼之前,你可以VS以前的密碼哈希值進行比較。

如果您使用帶標識和提供的ManageController的標準項目模板,則可以在構造函數中爲IPasswordHasher添加依賴項,然後可以在控制器的ChangePassword方法中添加邏輯或實現一個輔助類邏輯到散列新密碼,並確定其是否在所存儲的先前散列密碼存在。

然後,如果你確定用戶正在嘗試重新使用以前的密碼之一,你可以添加一個錯誤的ModelState:

ModelState.AddModelError(string.Empty, "You cannot re-use previous passwords"); 
return View(model); 

,會給你的服務器端驗證。