我正在嘗試執行已驗證的Web API請求,但未重置身份驗證Cookie超時。在MVC世界裏,我會從性反應去除FormsAuthenication餅乾做到這一點:從Web API中刪除Cookie 2響應
Response.Cookies.Remove(System.Web.Security.FormsAuthentication.FormsCookieName);
的Web API 2我寫了一個定製IHttpActionResult,而我除去響應的Set-Cookie頭。但是,這並不是刪除標題,因爲當爲使用此操作結果的請求更新auth cookie時,我仍然看到Set-Cookie標頭。
這裏是習俗IHttpActionResult:
public class NonAuthResetResult<T> : IHttpActionResult where T: class
{
private HttpRequestMessage _request;
private T _body;
public NonAuthResetResult(HttpRequestMessage request, T body)
{
_request = request;
_body = body;
}
public string Message { get; private set; }
public HttpRequestMessage Request { get; private set; }
public Task<HttpResponseMessage> ExecuteAsync(CancellationToken cancellationToken)
{
var msg = _request.CreateResponse(_body);
msg.Headers.Remove("Set-Cookie");
return Task.FromResult(msg);
}
}
如何編輯在網頁API 2的響應報頭,因爲這是行不通的。
我需要爲特定的要求做到這一點。不是全球Web API設置。 – LRFalk01