ASP.net Identity 2.0,如何删除用户但限制用户名被再次使用?

ASP.net Identity 2.0, how to delete user but restrict username from being used again?

我有一个网站使用 ASP.net identity 2.0 进行用户管理,还有一些外部身份验证选项(google、facebook 等)。

我想为用户提供删除其帐户的选项。我在这个答案中找到了一个很好的例子来说明如何实现这个:ASP.NET MVC 5 how to delete a user and its related data in Identity 2.0

但是,我希望限制其他人在 he/she 删除他们的帐户时注册旧用户的用户名。但是,如果他们决定重新注册,则应释放该电子邮件。

我想防止用户 ABC 删除他们的帐户,然后不相关的人使用用户名 ABC(在我的用例中这会导致 confusion/problems)。

我正在寻找有关如何实施此最佳做法的建议。 ASP 身份中是否内置了任何内容?或者我应该在所有注册用户名(已删除和活动)的某个地方保留一个 list/sql 数据库,然后根据此列表检查新用户?

谢谢。

一个超级简单的方法是简单地不删除用户表中的用户帐户,而是将其标记为锁定并将电子邮件地址从任何内容更新为其他内容,并将密码等任何其他敏感字段设置为-房屋默认值。您可能也想减少和/或彻底删除任何权限/角色。

因此,请将 abc@abc.com 的电子邮件帐户替换为 abc#abc.com@deletedaccount.me。

那么您就大功告成了,不需要任何额外的编码,因为框架会自行处理其余部分。