asp.net - 配置 Microsoft.AspNet.Identity 以允许电子邮件地址作为用户名

标签 asp.net asp.net-identity

我正在创建一个新应用程序,并开始使用 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。

除了对我迄今为止所做的工作进行一些代码更改之外,一切似乎都很顺利,直到我尝试为该应用程序创建本地用户帐户。

我一直在研究将电子邮件地址作为用户名格式,该格式与候选版本配合使用效果很好,但现在在使用电子邮件地址作为用户名创建用户时,会引发以下验证错误:

User name xxxxx@xxxx.com is invalid, can only contain letters or digits.

我花了大约一个小时寻找有关其配置选项的解决方案或文档,但无济于事。

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

最佳答案

您可以通过在 UserManager 上插入您自己的 UserValidator 来允许此操作,或者只是在默认实现上将其关闭:

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

关于asp.net - 配置 Microsoft.AspNet.Identity 以允许电子邮件地址作为用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19460078/

相关文章:

javascript - 如何使用 jQuery 或 javascript 获取 tabcontainer 的高度?

asp.net - 即使 System.Data.OracleClient 已经过时,仍然可以使用它吗?

javascript - 如何在其中任何一个发生变化时反转前景色和背景色

c# - 如何将 HTML 参数传递给 ASP.NET?

C#调用基类构造函数混淆

c# - 带有 IdentityDbContext 的 EF6 多对多无效列名

.net - 为什么 OWIN 的 SignInAsync() 不设置 IsAuthenticated (或其他身份验证变量)?

c# - 尝试向用户添加角色时,Asp.NET 身份角色不起作用

c# - 母版页和默认页

asp.net-identity - 如何向IdentityServer DI框架注册ApplicationUserManager?