Asp.net core 向标识FindByEmail和FindByUserName添加其他检查和DbContext

Asp.net core 向标识FindByEmail和FindByUserName添加其他检查和DbContext,asp.net-core,asp.net-identity,Asp.net Core,Asp.net Identity,我正在使用的应用程序使用.NET Core Identity 3,我们希望在删除用户时添加一些自定义功能 我们的ApplicationUser类有一个布尔IsDeleted标志,当“删除”一个用户时,我们只想设置这个标志,而不是从AspNetUsers表中实际删除记录 我们还需要一个唯一的电子邮件地址和用户名,因此我们需要与Identity提供给您的开箱即用的基本用户验证行为相同……这里的问题显然是,当用户被标记为非活动时,对我们来说,这意味着他们应该被视为已删除。因此,您应该能够使用相同的电子

我正在使用的应用程序使用.NET Core Identity 3,我们希望在删除用户时添加一些自定义功能

我们的ApplicationUser类有一个布尔IsDeleted标志,当“删除”一个用户时,我们只想设置这个标志,而不是从AspNetUsers表中实际删除记录

我们还需要一个唯一的电子邮件地址和用户名,因此我们需要与Identity提供给您的开箱即用的基本用户验证行为相同……这里的问题显然是,当用户被标记为非活动时,对我们来说,这意味着他们应该被视为已删除。因此,您应该能够使用相同的电子邮件或用户名创建另一个用户,只要具有isDeleted标志的任何现有用户都设置为true

内置的UserValidator行为对IsDeleting字段一无所知

我基本上希望覆盖FindByEmailAsync和FindByUserName async,并添加一个IsDeleteing标志检查

实现这一点最干净的方法是什么?我不知道从哪里开始,所有身份的相互依赖

正在寻找正确方向上的微移…

替换用户存储:或实现从DbContext继承(示例仅显示了如何写入/更新IsDeleted/CreatedOn属性,但EF Core 2.0将允许:筛选加载允许加载相关实体的子集。这已由EF Core 2.0预览1中的全局查询筛选器解决。替换用户存储:或实现从DbContext继承。)(示例仅显示了如何写入/更新IsDeleted/CreatedOn属性,但EF Core 2.0将允许:筛选加载允许加载相关实体的子集。EF Core 2.0预览1中的全局查询筛选器已解决了这一问题。)_