如何在aspnet标识中设置用户名不唯一

duk*_*uke 6 asp.net-mvc asp.net-identity

我在aspNet Identity中自定义用户名表时遇到了问题.目前,我可以登录并注册电子邮件.注册后,用户的电子邮件将填写电子邮件和用户名栏.现在,我知道如何分离这些,以便用户名和电子邮件都是唯一的.我跟着这篇文章.http://marcinjuraszek.com/2014/03/asp-net-identity-2-0-0-username-and-email-separation.html 我已经将主键从字符串自定义为int. 但是,现在我想删除用户名字段上的唯一约束.那么具有不同电子邮件ID的两个用户可以具有相同的名称?我正在开发一个社交应用程序,可能在某个时间,用户的数量可能高达100k.那么每个用户都不可能拥有除电子邮件ID之外的唯一名称.请建议我如何实现它?任何文章或任何建议或任何方式来定制它?

San*_*ock 2

用户名列旨在用作身份验证的唯一凭据。将其视为使用电子邮件地址登录的替代方法。因此,您不应尝试将其用于其他任务。

看起来您正在尝试使用用户名列来存储用户名(如全名或假名)。再次强调,这个字段并不是为此而设计的。

您需要使用另一种机制来存储用户名。您可以创建一个名为 的新字段DisplayName。您还可以使用数据库表来存储额外信息。

请参阅如何扩展 User.IdentityASP.NET Identity 2.0 的可用属性:自定义用户和角色