Asp.Net Identity 2重复的用户名检查

ran

Asp.Net Identity 2中的UserManager通过对数据库的附加请求来防止使用重复的用户名创建用户,以查找可能的重复项。我认为这容易出错,并且可能导致并发错误。正确的机制应依赖于唯一的约束或索引。我错了,我想念什么吗?

链接到源:CreateAsyncValidateUserName

Trailmax

不,你没看错。身份将在“用户名”列上添加唯一索引:

身份生成的表

此表的迁移代码为:

        CreateTable(
            "dbo.AspNetUsers",
            c => new
                {
                    Id = c.String(nullable: false, maxLength: 128),
                      /*  .... SNIP .... */
                    UserName = c.String(nullable: false, maxLength: 256),
                })
            .PrimaryKey(t => t.Id)
            .Index(t => t.UserName, unique: true, name: "UserNameIndex");

该列上明确设置了唯一索引。

ps,您正在使用Identity v3-它尚未发布。Current Identity v2.1尚未开源。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何自定义Asp.net Identity 2用户名已采取的验证消息?

ASP.net Identity 2.0,如何删除用户但限制再次使用用户名?

ASP.NET Identity 2电子邮件和用户名的分隔,并使用电子邮件登录

在ASP.NET Identity中将电子邮件设置为用户名

无法在ASP.NET中使用“ User.Identity.Name”获取Windows用户名

ASP.Net Identity 2 RemovePassword模拟

ASP.NET Identity 注册新用户以使用用户名作为用户名而不是电子邮件,但仍不显示登录者

加载表时显示用户名(存储在 ASP.Net Core Identity 系统中),而不是 ID

如何在 ASP.NET Core Identity 中控制器的构造函数中获取登录用户名

UserManager.FindAsync(用户名,密码)在ASP.NET 5 / Identity 3中不可用

如何自定义ASP.NET Identity Core用户名以在注册时允许特殊字符和空格

ASP.NET Identity 2记住我-用户正在注销

使用ASP:Net Identity 2.1检查角色不起作用

ASP.NET Identity Manager 管理页面级用户访问

刷新ASP.Net Core Identity中的用户cookie票证

ASP.NET Identity Extend方法访问用户属性

是ASP.NET Identity用户ID是顺序GUID

ASP.NET Identity的UserManager可以缓存用户吗?

ASP.NET Identity和SignalR获得用户

使用ASP.NET Core Identity 3的用户角色权限

ASP.NET Core Identity 用户组

在ASP.NET Identity 2.0中获取当前用户ID

ASP.NET Identity EF中的动态用户声明

列出asp.net Identity 2.0中的用户和角色

如何在ASP.NET Identity中编辑用户

从Xamarin注册用户以使用ASP.NET Identity

ASP.NET Identity中每个用户的唯一令牌

使用 ASP.Net Identity 时如何获取 AD 用户

ASP.NET Identity 2层次结构角色