如何支持 UserName 的 unicode?

How to support unicode for UserName?

我添加了一个注册功能,需要 UserName(目前是中文)的 unicode 支持。当我输入中文UserName时,弹出错误window:

User name xxxxx is invalid, can only contain letters or digits.

我搜索了源代码,但没有找到任何验证器或过滤器。我检查了 SQL 服务器架构,UserName 类型是 nvarchar(32),它启用了 unicode。

谁能告诉我如何为该字段添加 unicode 支持?谢谢。

这是 ASP.NET(核心)身份的默认行为。

您可以执行以下操作来禁用验证。

ASP.NET 核心身份

IdentityRegistrar.cs:

return services.AddAbpIdentity<Tenant, User, Role>(options =>
{
    options.User.AllowedUserNameCharacters = null;
})

ASP.NET 身份 (MVC 5)

UserManager.cs:

(UserValidator as Microsoft.AspNet.Identity.UserValidator<User, long>)
    .AllowOnlyAlphanumericUserNames = false;