2
即時嘗試爲我的IIS承載的WebAPI服務實現基本的HTTP認證。我試圖使用cookie來發送服務器和客戶端之間的用戶相關數據。當客戶端是Firefox時,此代碼似乎可以工作,但如果我使用IE或Chrome,則Cookie不會發回服務器。在HTTP基本認證中使用cookie的正確方法
我有以下幾點。
林添加cookie來響應消息像這樣...在HttpModule.AuthenticateRequest事件處理器...
HttpApplication app = sender as HttpApplication;
HttpResponse response = app.Context.Response;
HttpRequest request = app.Context.Request;
HttpCookie c = new HttpCookie("MyCookie", "Hellou!");
c.Expires = DateTime.Now.AddDays(1);
c.Domain = request.Url.Host;
c.Path = "/";
response.Cookies.Add(c);
...或在控制器POST操作:
CookieHeaderValue chv = new CookieHeaderValue("MyCookie", "Hellou");
chv.Expires = DateTime.Now.AddDays(1);
chv.Domain = Request.RequestUri.Host;
chv.Path = "/";
rmsg.Headers.AddCookies(new CookieHeaderValue[] { chv });
林閱讀這樣的餅乾,在HttpModule.AuthenticateRequest事件處理程序
HttpApplication app = sender as HttpApplication;
HttpRequest request = app.Context.Request;
if (request.Cookies.Count > 0)
{
HttpCookie c = request.Cookies.Get("MyCookie");
if (c != null)
{
// ...
}
}
爲T他的cookie代碼是否正確?有沒有辦法確保cookie可以在所有客戶端上運行?