授权Web API和401错误

时间:2017-05-24 05:28:31

标签: c# asp.net-mvc authentication asp.net-web-api authorization

我在同一个解决方案中有一个MVC和一个Web API项目,在MVC项目中我有一个非常小的管理区域,用登录名和密码保护(仅供一个用户使用)。在这个区域,我使用API​​调用获取clinet端的数据。

这是我的登录功能:

public ActionResult SubmitLogin(string UserName, string Password)
    {
        if (ModelState.IsValid)
        {
            if (UserName == "xxxxx" && Password == "yyyyy")
            {
                FormsAuthentication.SetAuthCookie(UserName, true);
                return RedirectToAction("Index", @"Admin/Users");
            }
        }
        var errors = (from value in ModelState.Values
                      from error in value.Errors
                      select error.ErrorMessage).ToList();

        if (errors.Count == 0)
        {
            errors.Add("UserName or Password are incorrect");
        }

        ViewBag.Message = errors;
        return View("Index");
    }

登录表单工作正常,问题在于API调用,我的API控制器是[Authorize]但是当我提出请求时:

self.getUsers = function (callback) {
    $.get("../MySite.API/Users/GetUsers/", callback);
}

我收到401错误。

我知道我必须以某种方式向AuthCookie发送AJAX请求,但我不确定如何。

任何帮助都将不胜感激。

0 个答案:

没有答案