【发布时间】:2019-01-30 07:58:36
【问题描述】:
我通过派生IdentityUser 添加了一个自定义属性IsDeleted
public class AppUser : IdentityUser
{
public int IsDeleted { get; set; }
}
目前我正在尝试使用以下代码验证用户提供的用户名和密码。
var userManager = HttpContext.GetOwinContext().GetUserManager<AppUserManager>();
AppUser user = userManager.Find(userDetails.UserName, userDetails.Password);
假设在这里,我创建了一个用户名为“abc@xyz.com”的用户,然后删除了该用户。当我删除用户时,IsDeleted 属性将被设置为 1。
后来,我用相同的用户名“abc@xyz.com”创建了另一个或相同的用户,而后一个在系统中处于活动状态。
我如何确保userManager.Find 将验证活动用户而不是已删除用户?
【问题讨论】:
-
可能验证没有重复,基于其他字段,例如电子邮件,因为它不应该与其他用户相同?只是一个想法
-
用户名是唯一的,不能有两行相同的用户名
-
@JephrenNaicker 但假设我正在尝试创建相同的用户
-
@NitinSawant 但假设我正在尝试创建相同的用户
标签: c# asp.net-mvc authentication asp.net-identity