我有一个从Web服务器上的已编译DLL运行的应用程序。我需要与应用程序进行一些单点登录(SSO)集成,并且我可以“注入”功能的唯一方法是修改被引用的外部JavaScript文件。
在JavaScript文件中有一些代码块用于设置具有该App的会话ID的cookie。我尝试添加更多代码以添加更多cookie,以便我可以从其他子域读取cookie,但cookie不会被设置!
我使用不同的名称调用完全相同的cookie集函数,但它不起作用。我使用FireFox进行了调试,并观察了我的新cookie调用JavaScript代码,但仍然没有新的cookie!我甚至看到现有的cookie正在更新!是什么给了!
任何人都可以拯救我的理智!?!?!?
以下是cookie设置功能:
function setCookie (name,value,expires,path,domain,secure)
{
document.cookie = name + "=" + escape (value) +
((expires) ? "; expires=" + expires.toGMTString() : "") +
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "") +
((secure) ? "; secure" : "");
}
以下是调用它的代码:
var twoHours = 1800*1000;
var expDate = new Date();
var secondExpire = expDate.getTime();
expDate.setTime(expDate.getTime() + twoHours);
setCookie("mysession",123456789,expDate,"/",null,false);
setCookie("mylastConnect",secondExpire,expDate,"/",null,false);
答案 0 :(得分:-1)
尝试将域设置为".exemple.com"
。这应该使得exemple.com的所有子域都可以访问cookie(但不能访问http://exemple.com,你必须放置第二个cookie)。
同时检查浏览器的Cookie设置,但我认为你已经完成了。