我正在尝试在 ASP.NET MVC 3 Web 服务上使用 jQuery 和表单身份验证来实现身份验证。我的想法是我将 jQuery AJAX 发布到 Web 服务,它将执行表单身份验证并返回一个 cookie 或令牌,并且对于每个数据访问调用,我的 Web 应用程序 (jQuery) 将使用该 cookie 或令牌。
我所拥有的——
我已经设置了对 ASP.NET Web 服务的 AJAX 调用,并且我的 Web 服务设置如下:
public ActionResult Login(string userName, string password, bool rememberMe, string returnUrl)
{
if (ModelState.IsValid)
{
if (Membership.ValidateUser(userName, password))
{
return Json(FormsAuthentication.GetAuthCookie(userName, rememberMe), JsonRequestBehavior.AllowGet);
}
else
{
return Json("Authentication Failed", JsonRequestBehavior.AllowGet);
}
}
}
这是有效的,所以如果我使用正确的凭据进行 AJAX 调用,我会返回一个 JSON 格式的 cookie,如果不是,我会返回身份验证失败的字符串。
我不知道的 - 收到 JSON cookie 后如何处理它。我可以将它存储在 HTML5 本地存储中,但我不知道它的哪一部分(或整个东西)与我的数据访问调用一起发回,以及如何解释它并检查 Web 服务端的 cookie。如果我不应该使用 cookie,有没有办法生成和使用某种令牌?