本文介绍了ASP.NET 身份使用电子邮件而不是用户名的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在新的 ASP.NET 身份系统中使用电子邮件而不是用户名?

How can I use email instead of user name in the new ASP.NET identity system?

我尝试更改 RegisterViewModel 类:

[Display(Name = "Email address")]
[Required(ErrorMessage = "The email address is required")]
[EmailAddress(ErrorMessage = "Invalid Email Address")]
public string UserName { get; set; }

但是当我输入邮件地址时出现错误:

but when I enter an mail adress I am getting the error:

User name [email protected] is invalid, can only contain letters or digits.

推荐答案

您有 2 个选项可以通过关闭验证器或创建自己的 UserValidator.

You have 2 options to solve it by either turning off that validator, or create your own UserValidator.

你可以像这样关闭它:

UserManager.UserValidator = new UserValidator<TUser>(UserManager)
                                    {
                                       AllowOnlyAlphanumericUserNames = false
                                    };

这篇关于ASP.NET 身份使用电子邮件而不是用户名的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-27 08:19