如何解决ASP.NET Core身份-更新时用户名已存在
我只是尝试使用带有自定义UserStore的Asp Core Identity更新现有的用户。
某些代码上下文:
public class ApplicationUser {
public string web_user_soc_code { get; set; }
public string web_user_id { get; set; }
public string web_user_name { get; set; }
public string web_user_normalized_name { get; set; }
public string web_user_password { get; set; }
public DateTime? web_user_date_crea { get; set; }
public List<ApplicationRole> roles { get; set; }
}
(自定义UserStore)
(我的控制器中的更新方法)
[HttpPut]
[Authorize(Roles = "Administrateur")]
public JsonResult UpdateUser(string id,string username) {
ApplicationUser user = userManager.FindByIdAsync(id).Result;
if (user == null || user.web_user_id == null) {
return Json(new { success = false,responseText = "Imposible de trouver l'utilisateur demandé" });
}
// Replacing with the new username
user.web_user_name = username;
// Updating... Throws error "Username xxx already exists"
IdentityResult result = userManager.UpdateAsync(user).Result;
return Json(result == IdentityResult.Success ?
new { success = true,responseText = "L'utilisateur a été modifié avec succès" } :
new { success = false,responseText = result.Errors.FirstOrDefault()?.Description });
}
所以我要做的就是更新他的用户名,但是当我打电话给userManager.UpdateAsync(user)
时,我出现一个错误,说该用户名已经存在(当然不存在)...
我已经看到使用userManager.SetUserNameAsync(...)
时会引发相同的错误。
所以我绝对不知道它可能来自哪里/我做错了什么。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。