2010-05-27 76 views
1

我有一個ASP.NET MVC應用程序。在此用戶登錄後,我們爲使用FormsAuthentication.SetAuthCookie(userName,false)登錄的用戶設置了一個cookie。 在其他頁面中,我們使用FormsAuthentication.GetAuthCookie(userName)獲取Cookie。 這個cookie值的字符串是在閱讀silverlight中的cookie

Response.Cookies["username"].Value = cookiesvalue 

設置我們在下載Silverlight應用程序相同的應用程序有.aspx頁。 Silverlight使用代碼讀取Cookie

string[] cookies = HtmlPage.Document.Cookies.Split(';');  

問題是,一旦會話在應用程序中到期,silverlight將無法讀取cookie值。

後會話過期,我們再次使用

Response.Cookies["username"].Value = cookiesvalue 

但還是Silverlight應用程序無法讀取這個cookie設置的Cookie標頭。

由於提前 DNM

+0

解釋你正在努力完成的事情。我們大概可以找出一個解決方案。你爲什麼試圖讀取cookie? – rboarman 2010-12-11 02:50:26

回答

0

身份驗證Cookie(一組具有FormsAuthentication.SetAuthCookie(userName, false))是一種特殊的cookie。它在服務器上使用machine key進行加密,並且只能由服務器進行操作。 Silverlight在客戶端執行,這就解釋了爲什麼你無法解密存儲在這個cookie中的用戶名。

想象一下,您可以在客戶端讀取並修改此cookie的值:這意味着您可以模擬任何用戶。