在 Microsoft.AspNetCore.Identity 标识中使用非 ASCII 字符
Using non-ASCII characters in Microsoft.AspNetCore.Identity Identity
我想将用户名设置为Chinese Word,文档
services.Configure<IdentityOptions>(options =>
{
options.User.AllowedUserNameCharacters =
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._@+";
});
我想将单词设置为中文单词
像这样
var user = new IdentityUser { Email = "admin@xxx.com", UserName = "管理员" };
var result= userManager.CreateAsync(user, "admin123456"); // 等待异步方法执行完毕
结果是
Id = 1,状态 = RanToCompletion,方法 =“{null}”,结果 =“失败:InvalidUserName”
这是 ASP.NET Core Identity 的默认行为。您可以执行以下操作来禁用验证:
services.Configure<IdentityOptions>(options =>
{
options.User.AllowedUserNameCharacters = null;
});
此外,像下面这样更改您的代码:
//add await....
var result = await _userManager.CreateAsync(user, "AD@admin123456");
注:
默认密码包含一个大写字符、一个小写字符、一个数字和一个非字母数字字符。密码长度必须至少为六个字符。
如果您没有自定义密码验证,admin123456
这里是无效的,您仍然需要一个大写字符和一个非字母数字字符。
我想将用户名设置为Chinese Word,文档
services.Configure<IdentityOptions>(options =>
{
options.User.AllowedUserNameCharacters =
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._@+";
});
我想将单词设置为中文单词 像这样
var user = new IdentityUser { Email = "admin@xxx.com", UserName = "管理员" };
var result= userManager.CreateAsync(user, "admin123456"); // 等待异步方法执行完毕
结果是 Id = 1,状态 = RanToCompletion,方法 =“{null}”,结果 =“失败:InvalidUserName”
这是 ASP.NET Core Identity 的默认行为。您可以执行以下操作来禁用验证:
services.Configure<IdentityOptions>(options =>
{
options.User.AllowedUserNameCharacters = null;
});
此外,像下面这样更改您的代码:
//add await....
var result = await _userManager.CreateAsync(user, "AD@admin123456");
注:
默认密码包含一个大写字符、一个小写字符、一个数字和一个非字母数字字符。密码长度必须至少为六个字符。
如果您没有自定义密码验证,admin123456
这里是无效的,您仍然需要一个大写字符和一个非字母数字字符。