【问题标题】:ASP.NET identity use email instead of user name [duplicate]ASP.NET 身份使用电子邮件而不是用户名 [重复]
【发布时间】:2013-11-14 12:45:40
【问题描述】:

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

我尝试更改RegisterViewModel 类:

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

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

User name fsdfsd@fsdfsd.de is invalid, can only contain letters or digits.

【问题讨论】:

    标签: c# asp.net-mvc-5 asp.net-identity


    【解决方案1】:

    您有 2 个选项可以通过关闭该验证器来解决它,或者创建自己的 UserValidator

    你可以这样关闭它:

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

    【讨论】:

    • 我建议创建一个自定义 UserManager(例如 AppUserManager : UserManager),在实例化时以这种方式设置自身的 UserValidator。我这样做是为了在新建 UserManager 类时不必记住设置 UserValidator,而只需记住使用我的自定义 AppUserManager 类。
    猜你喜欢
    • 1970-01-01
    • 2015-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-26
    • 1970-01-01
    • 2010-10-16
    • 2016-12-11
    相关资源
    最近更新 更多