无法读取cookie(使用jQuery和cookies插件)

时间:2010-09-02 13:20:24

标签: jquery cookies dotnetnuke

我有一个DotNetNuke网站,默认情况下人们匿名使用。当他们想要登录时,他们会点击一个链接,将他们带到/DesktopModules/AuthenticationServices/ActiveDirectory/WindowsSignin.aspx,然后将其重定向回首页。

在首页上有一些jQuery,它旨在将登录过程中创建的cookie从永久更改为基于会话(因此当用户浏览器关闭时它们将消失)。

然而,虽然我可以在jQuery中创建和阅读我自己的cookie(使用cookies插件),但我无法查看登录期间在服务器端创建的cookie。

下图显示了DotNetNuke网站的Cookie。

Screenshot of IECookiesView

Demo1Demo3由jQuery创建,代码如下:

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

然后可以使用以下代码阅读这些cookie:

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

然而,如果我尝试阅读其他一个我没有通过jQuery设置的cookie,我会返回null

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

为什么会这样?

1 个答案:

答案 0 :(得分:5)

ASP.NET通过FormsAuthentication创建的Cookie出于安全原因设置了HttpOnly标志。因此,无法通过javascript访问它们。