我有一个使用 ASP.net 身份2.0进行用户管理的网站,还有一些外部身份验证选项(谷歌,Facebook等)。
我想为用户提供删除其帐户的选项。 我在这个答案中找到了一个如何实现这一点的很好的例子: ASP.NET MVC 5 如何在 Identity 2.0 中删除用户及其相关数据
但是,我希望限制其他任何人在旧用户删除帐户时注册其用户名。 但是,如果他们决定重新注册,则应释放电子邮件。
我想防止用户 ABC 删除他们的帐户,然后防止不相关的人使用用户名 ABC(这会在我的用例中引起混淆/问题)。
我正在寻找有关如何实施此方法的最佳实践的建议。 ASP 标识中是否内置了任何内容? 或者我应该在所有注册用户名(已删除和活动)的某个地方保留一个列表/sql db,并简单地根据此列表检查新用户?
谢谢。
一种非常简单的方法是简单地不删除用户表中的用户帐户,而是将其标记为锁定,并将电子邮件地址从任何内容更新为其他内容,并将任何其他敏感字段(如密码)设置为内部默认值。您可能还希望减少和/或彻底删除任何权限/角色。
因此,在abc@abc.com 的电子邮件帐户上进行替换以使其 abc#abc.com@deletedaccount.me。
然后你就完成了,不需要任何额外的编码,因为框架会自己处理其余的。