ASP IdentityUser ApplicationUser语言 - 如何多次注册



我有一个AspNetUsers表的数据库设置,我使用。net解决方案中提供的默认代码进行注册,登录,密码重置等。

数据库要跨多个网站运行,所以我需要考虑到一个给定电子邮件地址的用户可能注册到我们的两个网站的可能性。在验证和其他设置之后,我有以下代码来创建一个新用户:-

var applicationUser = new ApplicationUser { UserName = user.Email, Email = user.Email, RevolveID = revolveID, CandidateID = candidate.CandidateID };
var registrationResult = await UserManager.CreateAsync(applicationUser, user.Password);

我测试registrationResult的成功状态,但调试失败,因为我的电子邮件已经被占用。我需要这个能够处理我多次注册。我看到有一个IsEnabled列,但这可能对跨站点没有帮助,因为不同站点上的两个帐户可能同时启用?

解决这个问题的最好方法是什么?在这个表中手动创建一个用户是最好的吗?我已经在AspNetUsers表中添加了SiteID列,作为区分站点的标记,但是我没有权限修改ApplicationUser功能,使其考虑到这一点。

有人遇到过这种情况吗?

谢谢!迈克。

有点晚了。如果问题是一个重复的电子邮件地址(不是一个重复的用户名),这段代码在我的自定义UserManager修复它:

manager.UserValidator = New UserValidator(Of ApplicationUser, Integer)(manager) With {
          .AllowOnlyAlphanumericUserNames = False,
          .RequireUniqueEmail = False
        }

最重要的部分当然是将RequireUniqueEmail设置为false。

对不起,VB,不是我的选择!

相关内容

  • 没有找到相关文章

最新更新