【发布时间】:2015-10-02 18:18:15
【问题描述】:
我成功地在我的用户名中获取了非字母数字字符,我现在遇到的问题是当我尝试为用户分配角色时它抛出了一个无效的用户名错误。它说“只能包含字母和数字。
这是我添加的允许用户名中的字符;
public AccountController(UserManager<ApplicationUser> userManager)
{
UserManager = userManager;
var userValidator = UserManager.UserValidator as UserValidator<ApplicationUser>;
userValidator.AllowOnlyAlphanumericUserNames = false;
}
这是我得到错误的地方;
public bool AddUserToRole(string userId, string roleName)
{
var um = new UserManager<ApplicationUser>(
new UserStore<ApplicationUser>(new ApplicationDbContext()));
var idResult = um.AddToRole(userId, roleName);
return idResult.Succeeded;
idResult.Erorrs[0] = "用户名J.Blow无效,只能包含字母或数字。"
为什么我会得到这个。我需要在其他地方更改用户名的验证吗?
谢谢,提前。
克林特
【问题讨论】:
-
um.UserValidator需要指向您的userValidator实例。
标签: c# asp.net asp.net-mvc asp.net-identity