2010-09-02 71 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访问。