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

时间:2015-01-28 07:51:45

标签: asp.net asp.net-mvc asp.net-identity asp.net-identity-2

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

我想让用户选择删除他们的帐户。我在这个答案中找到了一个很好的例子:ASP.NET MVC 5 how to delete a user and its related data in Identity 2.0

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

我想阻止用户ABC删除他们的帐户,然后有人无关使用用户名ABC(这会在我的用例中造成混淆/问题)。

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

谢谢。

1 个答案:

答案 0 :(得分:5)

超简单的方法是简单地不删除用户表中的用户帐户,而是将其标记为已锁定,并将电子邮件地址从其他任何内容更新为其他内容,并将其他敏感字段(如密码)设置为内部默认值。您可能希望减少和/或彻底删除任何权利/角色。

在abc@abc.com的电子邮件帐户上进行替换,使其成为abc#abc.com@deletedaccount.me。

然后你就完成了,不需要任何额外的编码,因为框架将负责其余部分。