c# - 允许来自同一电子邮件地址的多个帐户 WEB API ASP.NET IDENTITY

标签 c# asp.net asp.net-web-api asp.net-identity identity

我想使用 asp.net 身份框架创建多个用户具有相同的电子邮件地址和不同的用户名

这可能吗?

当我尝试使用相同的电子邮件地址创建用户时出现此错误

{
  "message": "The request is invalid.",
  "modelState": {
    "": [
      "Email 'tester123@live.com' is already taken."
    ]
  }
}

最佳答案

您可以配置 UserManagerUserValidator:RequireUniqueEmail = false。具有个人用户帐户的默认 MVC5 示例代码:

public static ApplicationUserManager Create(IdentityFactoryOptions<ApplicationUserManager> options, IOwinContext context) 
{
    var manager = new ApplicationUserManager(new UserStore<ApplicationUser>(context.Get<ApplicationDbContext>()));

    // Configure validation logic for usernames
    manager.UserValidator = new UserValidator<ApplicationUser>(manager)
    {
        AllowOnlyAlphanumericUserNames = false,
        RequireUniqueEmail = false 
    };

    ...

    return manager;
}

您可能需要在 ApplicationUserManager 类构造函数中设置它:

public ApplicationUserManager(IUserStore<ApplicationUser> store) : base(store)
{
    UserValidator = new UserValidator<ApplicationUser>(this)
    {
        AllowOnlyAlphanumericUserNames = false,
        RequireUniqueEmail = true
    };
 }

关于c# - 允许来自同一电子邮件地址的多个帐户 WEB API ASP.NET IDENTITY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41714910/

相关文章:

.net - 分析 Service Fabric 应用程序

c# - 如何创建 Asp.net mvc 安全登录页面身份验证?

c# - (C#) 通过串行发送十六进制

C# System.Windows.Forms.WebBrowser 需要安装 Flash

c# - ASP.NET MVC : LogOut Heartbeat function

c# - 每个 Controller 调用的 asp 中是否有一个钩子(Hook)来检查用户是否仍然有效?

c# - 如何将后代 UrlHelper 类注入(inject) WebViewPage 以启用缓存清除?

C# 将对象转换为枚举

asp.net MVC 5 托管设置

asp.net-web-api - Visual Studio 2015 中的 FilterConfig