WebAPI - 它可以用于注销用户吗?

时间:2014-08-06 20:06:52

标签: ajax asp.net-mvc asp.net-web-api asp.net-mvc-5

当通过AJAX调用从客户端调用WebAPI控制器时,此方法返回200代码,但用户在页面刷新时会重新进行身份验证。我做错了什么?

    [HttpPost]
    [Route("logout")]
    public IHttpActionResult Logout() {
        AuthenticationManager.SignOut();
    }

这在标准MVC控制器中作为ActionResult和完整页面视图工作,但它不能通过AJAX工作。

1 个答案:

答案 0 :(得分:1)

看起来您正在使用自定义AuthenticationManager类,因为框架中内置的类似乎没有SignOut方法。

http://msdn.microsoft.com/en-us/library/system.net.authenticationmanager(v=vs.110).aspx

如果是这种情况,那么您的AuthenticationManager班级是否使用Session存储用户信息?因为WebAPI控制器与MVC控制器不具有相同类型的会话访问权限。 WebAPI中的会话参考:

Accessing Session Using ASP.NET Web API