asp.net-mvc - .net Core 5 _userManager.RemoveFromRolesAsync 错误:用户名“XXXX”无效,只能包含字母或数字
问题描述
我在 .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
是一个有效的用户 ID,并返回一个有效user
roles
的正确填充属于user
RemoveFromRolesAsync
失败的角色,并出现以下错误:
Username 'xxx' is invalid, can only contain letters or digits.
有任何想法吗 ?
解决方案
添加
options.User.AllowedUserNameCharacters = @"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._@+/\"
至
IdentityHostingStartup.cs
注意:似乎允许的字符匹配是区分大小写的......
推荐阅读
- c++ - protobuf3 映射不可修改?
- javascript - Javascript Web 应用程序上的唯一设备 ID(Angular,React,...)
- mysql - 在预先设置的行号之后选择表格中的行
- r - 在特定值之前获取向量中最接近的值
- html - Razor View 中的智能感知不完整
- python-3.x - 如何根据另一个字典的值列表拆分字典的值列表?
- javascript - 获取用户每次在聊天中发送消息的时间
- python - 如何在 Windows Server 2016 上托管 API?
- javascript - Reactjs : craco + antd => 规则优先级规则不匹配
- html - 中的链接没有被设置为首选样式,这个 html 代码有什么问题?