问题描述
我在 .Net 5.0 中使用 Identity 有以下代码:
var user = await _userManager.FindByIdAsync(userId);
if (user == null)
{
return View();
}
var roles = await _userManager.GetRolesAsync(user);
var result = await _userManager.RemoveFromrolesAsync(user,roles.ToArray());
UserID
是一个有效的 UserID 并返回一个有效的 user
roles
正确填充了属于 user
的角色
RemoveFromrolesAsync
失败并出现以下错误:
Username 'xxx' is invalid,can only contain letters or digits.
有什么想法吗?
解决方法
已添加
options.User.AllowedUserNameCharacters = @"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._@+/\"
到
IdentityHostingStartup.cs
注意:似乎允许的字符匹配区分大小写...