MVC5的UserManager似乎有一个错误:
我的代码:
public void InsertUser(KoreUser user, string password)
{
var appUser = new ApplicationUser
{
UserName = user.UserName,
Email = user.Email,
LockoutEnabled = user.IsLockedOut
};
userManager.Create(appUser, password);
}
这些代码在几乎所有情况下都能正常工作..例外情况是UserName包含空格时...例如:
JohnDoe - 很好
John Doe - 不错......
在后一个例子中,它默默地失败;没有例外。这里的问题是什么?
答案 0 :(得分:0)
这不是一个错误。不会抛出异常,因为在用户身份验证领域期望用户名无效是合理的。
创建用户名时完成的默认检查使用正则表达式模式^[A-Za-z0-9@_\.]+$
在创建用户之前验证名称。空白字符没有通过此测试。
另一个注意事项是Usermanager的Create
方法返回类型为IdentityResult的对象。使用该对象,您可以检查是否成功,并查看在未创建用户的情况下返回的错误。