Javascript 导航器插件开发-会话过期

Javascript 导航器插件开发-会话过期,javascript,filenet-p8,ibm-content-navigator,Javascript,Filenet P8,Ibm Content Navigator,我正在为ICN开发一个插件,我已经设法让它自动登录,通过url中作为参数传递的id从文件中检索用户名/密码。一旦用户登录,就不需要重新登录,但是在一段时间后,“会话过期”将启动,即使在重新加载之后,我也无法让它再次登录。这可能是因为我的决定基于一个javascript对象:ecm.model.desktop.connected 现在,如果ecm.model.desktop.connected为false,它将尝试登录,这在会话到期之前工作正常,这显然不会将ecm.model.desktop.co

我正在为ICN开发一个插件,我已经设法让它自动登录,通过url中作为参数传递的id从文件中检索用户名/密码。一旦用户登录,就不需要重新登录,但是在一段时间后,“会话过期”将启动,即使在重新加载之后,我也无法让它再次登录。这可能是因为我的决定基于一个javascript对象:ecm.model.desktop.connected

现在,如果ecm.model.desktop.connected为false,它将尝试登录,这在会话到期之前工作正常,这显然不会将ecm.model.desktop.connected设置为false,它仍然设置为true。因此,我希望学习一种判断会话是否已过期的方法

这是我的登录代码:

if (ecm.model.desktop.connected == false || ecm.model.desktop.userId != loginConfig[loginID].username) {
     var http2 = new XMLHttpRequest();
     var url2 = "/navigator/logon.do";
     var params2 = "userid=" + loginConfig[loginID].username + "&password=" + loginConfig[loginID].password;
     http2.open("POST", url2, false);
     http2.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
     http2.onreadystatechange = function() {//Call a function when the state changes.
          if (http2.readyState == 4 && http2.status == 200) {

          }
     };
     http2.send(params2);
     window.location.reload();
}

我管理了一个解决方案,完全避免了会话过期,使用了一个cookie集,使会话在“x”分钟内过期,这是我自己的一种会话。 首先,我检查cookie是否已创建,如果不是,则表示它已过期或从未创建过,因此我创建了它,并对logoff.do进行同步POST调用,然后重新加载站点

一旦创建并重新加载后,我会再次检查cookie是否存在,因为我会检查ecm.model.desktop.connected是否为false,或者用户试图使用不同的ID登录。如果出现这种情况,我会让它登录,并使用正确的用户名/密码对logon.do进行同步POST调用,然后重新加载

用户现在可以访问我的插件提供的功能了