【发布时间】:2015-10-30 01:47:40
【问题描述】:
我正在尝试在我的 angularjs 和 web api SPA 中实现身份验证。我正在使用基于 cookie 的身份验证。这是登录控制器的代码 -
if (ModelState.IsValid)
{
if (_adMembershService.ValidateUser(model.Name, model.Password))
{
_formsAuthenticationService.SignIn(model.Name);
return Json(GetUserClientContext(model.Name));
}
return Json("Incorrect Credentials");
}
如果用户存在于服务器上(表单身份验证),那么我将生成一个 cookie 并将其传递给响应。
public void SignIn(string email)
{
//Part of the code is omitted
HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, encrypted);
HttpContext.Current.Response.Cookies.Add(cookie);
}
但是我很难理解我应该如何处理这个 cookie,以及当用户成功登录时如何检查这个 cookie? Cookie 是HttpOnly,所以没有办法用 JS 代码检查它,据我所知,这不是最好的方法。
所以我不知道我们如何检查用户是否已登录,当他下次访问该页面时。有人可以向我解释一下吗?
【问题讨论】:
标签: javascript c# angularjs cookies asp.net-web-api