aspnetboilerplate 电子邮件地址删除唯一验证

aspnetboilerplate email address remove unique validation

我使用的是最新版本的 aspnetboilerplate,电子邮件验证要求用户实体在框架中默认是唯一的,我想删除此验证以针对单个帐户启用多个用户注册。请帮助我了解如何禁用此电子邮件验证检查。

尽管不建议使用相同的电子邮件地址注册不同的用户(您稍后会遇到登录问题)我会尝试解释如何删除此检查。

重复的电子邮件检查在 AbpUserManager 摘要中 class。所以你需要覆盖 CreateAsync 方法。

 public override async Task<IdentityResult> CreateAsync(TUser user)
        {

            // Commenting out related lines...
            // var result = await CheckDuplicateUsernameOrEmailAddressAsync(user.Id, user.UserName, user.EmailAddress);
            // if (!result.Succeeded)
            // {
            //   return result;
            // }

            var tenantId = GetCurrentTenantId();
            if (tenantId.HasValue && !user.TenantId.HasValue)
            {
                user.TenantId = tenantId.Value;
            }

            return await base.CreateAsync(user);
        }

查看源码 > https://github.com/aspnetboilerplate/module-zero/blob/dev/src/Abp.Zero/Authorization/Users/AbpUserManager.cs#L104