首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将Microsoft.AspNet.Identity配置为允许电子邮件地址作为用户名

将Microsoft.AspNet.Identity配置为允许电子邮件地址作为用户名
EN

Stack Overflow用户
提问于 2013-10-19 06:35:39
回答 13查看 52K关注 0票数 128

我正在创建一个新的应用程序,并开始使用EF6-rc1、Microsoft.AspNet.Identity.Core 1.0.0-rc1、Microsoft.AspNet.Identity.EntityFramework 1.0.0-rc1、Microsoft.AspNet.Identity.Owin 1.0.0-rc1等,昨天发布了RTM版本,今天晚上我通过NuGet将它们更新为RTM。

除了对我到目前为止所做的工作做了几处代码更改之外,一切似乎都很顺利,直到我尝试为应用程序创建一个本地用户帐户。

我一直在处理用户名格式的电子邮件地址,它在发布候选版本中工作得很好,但现在使用用户名的电子邮件地址创建用户时,它抛出了以下验证错误:

用户名xxxxx@xxxx.com无效,只能包含字母或数字。

我花了一个小时左右的时间寻找解决方案或关于它的配置选项的文档,但一无所获。

有没有办法将其配置为允许用户名使用电子邮件地址?

EN

回答 13

Stack Overflow用户

回答已采纳

发布于 2013-10-19 08:08:50

您可以通过在UserManager上插入您自己的UserValidator来实现此功能,或者只需在默认实现上将其关闭:

UserManager.UserValidator = new UserValidator<TUser>(UserManager) { AllowOnlyAlphanumericUserNames = false }
票数 168
EN

Stack Overflow用户

发布于 2014-03-14 21:33:20

它的C#版本(在App_Code\IdentityModels.cs中)是

public UserManager()
        : base(new UserStore<ApplicationUser>(new ApplicationDbContext()))
    {
        UserValidator = new UserValidator<ApplicationUser>(this) { AllowOnlyAlphanumericUserNames = false };
    }
票数 16
EN

Stack Overflow用户

发布于 2015-05-08 01:41:33

在我的例子中,使用ASP.NET Identity 2.0在VS 2013 C#,MVC5.2.2中运行,解决方案是更新App_Start\IdentityConfig.cs内部的ApplicationUserManager构造函数,如下所示:

public ApplicationUserManager(IUserStore<ApplicationUser> store)
        : base(store)
    {
        this.UserValidator = new UserValidator<ApplicationUser>(this) { AllowOnlyAlphanumericUserNames = false };
    }
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19460078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档