将 Web API 注册字段从电子邮件更改为电话号码



我正在尝试自定义 Asp.Net 身份(在web-API项目中(的注册过程。是否可以使用电话号码注册新用户,而不是使用网络API的电子邮件?

此外,标识框架的其余功能应该使用这种新方法吗?

使用这种方法,程序员将面临哪些挑战?

尝试在注册绑定模型中将电子邮件更改为电话号码.cs为:

    [Required]
    [Display(Name = "Mobile number")]
    public string PhoneNumber { get; set; }

原始代码是:

    [Required]
    [Display(Name = "Email")]
    public string Email{ get; set; }

在帐户控制器中所做的更改.cs

var user = new ApplicationUser() { UserName = model.PhoneNumber, PhoneNumber = model.PhoneNumber };
        IdentityResult result = await UserManager.CreateAsync(user, model.Password);

预期结果是仅使用电话号码注册的新用户。

实际结果是,错误 - "电子邮件不能为空或空",来自模型状态。

IdentityConfig.cs中的以下代码更改有效:

RequireUniqueEmail = false

而且,标识框架还会检查重复条目,并显示错误:

">名称 9xxxx8x 已被占用">

信用: @RudyAsp.Net 无需电子邮件即可保存身份的用户

相关内容

最新更新