我正在尝试自定义 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 无需电子邮件即可保存身份的用户