我当前的项目是GitHub(link)Durandal.Auth
回购的分支。
此项目是一个单页面应用程序,它在MVC5中使用OWIN Forms身份验证。
注销操作如下:
[Route("Logout")]
public IHttpActionResult Logout()
{
Authentication.SignOut(CookieAuthenticationDefaults.AuthenticationType);
//the id must be null here
string id = HttpContext.Current.User.Identity.GetUserId();
return Ok();
}
这个动作是在点击浏览器中的刷新按钮后完成工作,而且从来没有。
如您所见,HttpContext.Current.User.Identity.GetUserId()
必须为null,因为用户应该注销。但不是 !由于某些不明原因httpContext
认为用户仍然登录。
问题:为什么这个动作表现得那样?我该如何解决这个问题?
P.S。 :我在客户端有一个javascript层,如果他没有登录,可以阻止用户访问内容。但我真的需要这个动作来做正确的事。