我想保存用户没有电子邮件,像这样:
var user = new ApplicationUser { UserName = model.Name }; var result = await UserManager.CreateAsync(user);
解决方法
身份取决于电子邮件作为重置用户密码的方式。
然而,忽略电子邮件并不简单,但可能。您将需要实现Microsoft.AspNet.Identity.IIdentityValidator接口,忽略缺少电子邮件:
namespace Microsoft.AspNet.Identity { /// <summary> /// Used to validate an item /// /// </summary> /// <typeparam name="T"/> public interface IIdentityValidator<in T> { /// <summary> /// Validate the item /// /// </summary> /// <param name="item"/> /// <returns/> Task<IdentityResult> ValidateAsync(T item); } }
然后在ApplicationUserManager中将您自己的实现分配给属性UserValidator。
如果你真的需要这个,你可以通过反编译Microsoft.AspNet.Identity.UserValidator类来获取UserValidator的原始源代码,并窥探现有的源代码,并删除电子邮件的cheecking。