Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core 如何在ASP.NET核心标识中允许空用户名_Asp.net Core_Asp.net Core Identity - Fatal编程技术网

Asp.net core 如何在ASP.NET核心标识中允许空用户名

Asp.net core 如何在ASP.NET核心标识中允许空用户名,asp.net-core,asp.net-core-identity,Asp.net Core,Asp.net Core Identity,“我的应用程序”的注册工作流仅允许在确认电子邮件地址后设置用户名。使用Microsoft.AspNetCore.Identity 1.1.1.0中的默认值,with Entity Framework在数据库中生成一个AspNetUsers表,其中包含一个可为空的UserName列。但是,如果我尝试向UserManager.CreateAsync()提供具有空用户名的IdentityUser实例,则会出现错误:“用户名“”无效,只能包含字母或数字。” 我希望避免设置临时非空值,因为用户名应该是唯一

“我的应用程序”的注册工作流仅允许在确认电子邮件地址后设置用户名。使用Microsoft.AspNetCore.Identity 1.1.1.0中的默认值,with Entity Framework在数据库中生成一个AspNetUsers表,其中包含一个可为空的UserName列。但是,如果我尝试向UserManager.CreateAsync()提供具有空用户名的IdentityUser实例,则会出现错误:“用户名“”无效,只能包含字母或数字。”

我希望避免设置临时非空值,因为用户名应该是唯一的,但不是电子邮件地址。其他解决方法(例如guid)看起来就像是一个黑客


允许空用户名为空的最佳方法是什么?

看起来用户名不应该为空。一个单独的DisplayName属性或类似的属性可能是最好的选择

我发现SignInManager需要用户名才能登录。所以我想这不会飞了。可能将用户名和电子邮件设置为相同的值,并具有单独的属性,例如DisplayName。