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

时间:2015-11-24 09:39:14

标签: asp.net-mvc asp.net-identity

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

1 个答案:

答案 0 :(得分:1)

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

您似乎正在尝试使用用户名列来存储用户的名称(如全名或假名)。同样,该字段不是为此而设计的。

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

请参阅How to extend available properties of User.IdentityASP.NET Identity 2.0: Customizing Users and Roles