将其他检查和DbContext添加到Identity FindByEmail和FindByUserName

时间:2017-06-08 22:27:49

标签: asp.net-core asp.net-identity

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

我们的ApplicationUser类有一个布尔的IsDeleted标志,当"删除"我们想要设置此标志的用户,实际上并没有从AspNetUsers表中删除该记录。

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

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

我基本上想要覆盖FindByEmailAsync和FindByUserName async,并添加对isDeleting标志的检查。

实施此方法的最简洁方法是什么?我不知道从哪里开始与身份的所有相互关系。

寻找正确方向的推动......

0 个答案:

没有答案