无法检查用户名是否存在



我是Stackoverflow的新手,我刚刚开始使用。net Core和我第一次使用identity。我基本上是使用ajax调用控制器来查看用户名是否已经存在。然后我做了一些研究,发现我可以使用RemoteAttribute下面是我的RegisterViewModel。

    public class RegisterViewModel
{
    [Required]
    [StringLength(100, ErrorMessage = "some error", MinimumLength = 2)]
    [DataType(DataType.Text)]
    [Display(Name = "Username")]
    [RegularExpression(@"(^[w]+$)", ErrorMessage = "some error")]
    [Remote("CheckUserName", "Account", HttpMethod = "POST", ErrorMessage = "some error")]
    public string Username { get; set; }

在我的控制器中,我有这个

    public async Task<JsonResult> CheckUserName(string username)
    {
        var user = db.Users.Where(x => x.UserName == username).FirstOrDefault();
        if (user == null)
            return Json(true);
        else
            return Json(false);    
    }

,但我的数据上下文总是抛出对象引用不设置为对象的实例,所以我使用FindByNameAsync Identity方法总是返回null,见下文。

    public async Task<JsonResult> CheckUserName(string username)
    {
        var user = await _userManager.FindByNameAsync(username);
        //but user is always null ??
    }

我不知道我到底做了什么,但现在似乎正在工作。我添加了

    [AllowAnonymous]

属性,可能已经完成了。但它不在那里,它应该抛出401错误。不管怎样,谢谢大家的帮助。

相关内容

  • 没有找到相关文章

最新更新