如何在 Microsoft.AspNet.Identity 中使用 ApplicationUser 软删除和 IsDel



我们在项目中使用Microsoft.AspNet.Identity v1.0.0.0。我们必须软删除我们的应用程序用户(仅使他们IsDeleted =true),而不是从数据库中永久删除。

一切都与此有关,但是当我们想要使用相同的用户名创建新用户时,它也在检查IsDeleted用户。我们希望在这种情况下它不会检查IsDeleted用户。

对于这种情况,有没有办法覆盖public virtual Task<IdentityResult> CreateAsync函数?

如果要释放用户名供其他人使用,只需在删除用户时对其进行修改即可。

也许让它成为独特的东西: "{user}_deleted_{guid}" .用户的电子邮件仍将是一致的,您可以使用同一封电子邮件输入多个用户条目,因此这不是问题。

此外,最好存储DeletedDate属性而不是IsDeleted属性。它在功能上是等效的(只需检查它是否不为空),但它也免费为您提供了一些附加信息!将其与DeletedBy列相结合,以跟踪谁做的。

完成此操作后,您可以创建自定义UserStore,该不会在结果中返回已删除的用户。可以在此问题"将软删除添加到标识用户"表中阅读有关此内容的详细信息

相关内容

  • 没有找到相关文章

最新更新