2010-04-16 34 views
0

我在mysubdomain.mydomain.com上的應用程序需要設置一個包含一些用戶會話信息的cookie。asp.net mvc cookies不被髮回

他們登錄到https頁面。我們對它們進行身份驗證並在cookie中設置一些會話信息。

this.ControllerContext.HttpContext.Response.Redirect(redirectTo, false); 
return null; 

的餅乾出現:

我們在一個輔助庫發生在

contextBase.Response.Cookies[CookiePayload.CookieName].Value = encryptedTicket;      
contextBase.Response.Cookies[CookiePayload.CookieName].Expires = cookieExpires; 
contextBase.Response.Cookies[CookiePayload.CookieName].Domain= ConfigHelper.CookieDomain; 
contextBase.Response.Cookies[CookiePayload.CookieName].HttpOnly=true; 

我們做一個控制器中的快速重定向(到非HTTPS頁)控制器方面做到這一點在響應中(根據螢火蟲的淨選項卡)。

但是既不fireforx也不發送cookie隨後得到。

即使網站爲mysubdomain.mydomain.com,我們仍將cookie域設置爲mydomain.com。跳過重定向命令不起作用,也不會更改cookie值。

我很困惑。感謝您的任何建議。

回答

4

嘗試Secure標誌明確設置爲false,如果這個cookie需要通過http發送:

var cookie = new HttpCookie(CookiePayload.CookieName, encryptedTicket) 
{ 
    HttpOnly = true, 
    Domain = ConfigHelper.CookieDomain, 
    Secure = false, 
    Expires = cookieExpires 
}; 
Response.SetCookie(cookie); 
+0

這似乎已經做到了。似乎ASP將它設置爲默認情況下是安全的,因爲上下文是https請求。謝謝! – 2010-04-16 15:37:10