2010-09-02 68 views
1

我有一個DotNetNuke網站,默認情況下人們使用匿名。當他們想要登錄時,他們點擊一個鏈接,將其帶到/DesktopModules/AuthenticationServices/ActiveDirectory/WindowsSignin.aspx,然後將其重定向回首頁。無法讀取cookie(使用jQuery和cookie插件)

在首頁是一些jQuery,旨在將登錄過程中創建的cookie從永久變爲基於會話(因此,當用戶瀏覽器關閉時,它們將消失)。

儘管我可以在jQuery中創建和閱讀我自己的cookie(使用cookies插件),但我無法在登錄期間查看已經創建的服務器端cookie。

下圖顯示了DotNetNuke網站上存在的Cookie。

Screenshot of IECookiesView

Demo1Demo3已經創建的jQuery用下面的代碼:

alert($.cookie('Demo3'));

但是:

$.cookie('Demo1', 'Fred', { expires: 0.005, path: '/' }); 
$.cookie('Demo3', 'Peter', { expires: 0.005, path: '/', domain: 'internet.nt.avs' }); 

這些Cookie,然後可以使用後續的代碼讀取如果我然後嘗試閱讀其他cookie的其中一個,我沒有通過jQuery的設置,我得到null返回:

alert($.cookie('.DOTNETNUKE'));

這究竟是爲什麼?

回答

5

由ASP.NET通過FormsAuthentication創建的Cookie由於安全原因而設置了HttpOnly標誌。因爲他們不能通過JavaScript訪問。