Con*_*nel 6 c# asp.net asp.net-mvc username asp.net-identity
我有一系列我已经覆盖的类用于ASP.NET Identity 2.0,因此他们使用电子邮件地址字段而不是电子邮件字段.
当试图创建它说用户The UserName field is required.我试图重写我的用户名字段ApplicationUser类继承自IdentityUser同[Index(IsUnique = false)]然而这只是导致了独特的约束和正在创建一个非唯一索引.
如何覆盖IdentityUser类以使用户名可以为空且非唯一,因为我不想使用它.
注意:我完全知道您可以使用类中的AllowOnlyAlphanumericUserNames属性将电子邮件存储在用户名字段中UserValidator.我真的不喜欢这种方法,只想删除这个约束,所以我可以存储没有用户名的记录.我将修改我需要使用用户名来查看电子邮件地址的任何功能.
摆脱它的唯一真正方法是实现您自己的IUserStore. 这听起来像是大量的工作却几乎没有任何实际收益。
请参阅 UserManager 有方法FindByNameAsync(),并且还要求实现类上存在IUserStore<TUser, in TKey>方法。Task<TUser> FindByNameAsync(string userName)
此外,您还需要创建自己的 实现IdentityDbContext,或在 中创建所需的表/关系ApplicationDbContext以删除唯一性验证。这也是另一项工作负担。
这是不值得的。
| 归档时间: |
|
| 查看次数: |
2082 次 |
| 最近记录: |