我嘗試了許多不同的方式將cookie添加到HttpContext.Current.Response
而沒有運氣。瀏覽器沒有看到我添加的cookie。請幫助!將cookie設置爲HttpContext響應
這裏是我的API控制器
public IHttpActionResult Get(string username, string password)
{
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*");
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Methods", "*");
//This does not work
HttpCookie cookie = new HttpCookie("ACA-Cookie", "This better work!");
cookie.Expires = DateTime.Now.AddDays(2);
cookie.Domain = Request.RequestUri.Host;
cookie.Path = "/";
HttpContext.Current.Response.SetCookie(cookie);
//This does not work
var cookie = new HttpCookie("MyCookie", DateTime.Now.ToLongTimeString());
HttpContext.Current.Response.Cookies.Add(cookie);
return Ok(HttpStatusCode.OK);
}
這有助於很多! 您是否建議僅使用mvc控制器來爲登錄設置剩餘請求的cookie? –
在我的公司,我們用.Net和Rest基本認證開發了web api。憑證在HTTP請求標頭中傳遞。 – derloopkat
與derloopkat同意,憑證也可以在請求標頭中傳遞給WebAPI控制器。但是,使用REST時,通常需要對每個請求進行身份驗證(以保持無狀態)。 – Luke