我正在为ICN的插件工作,我设法将其登录自动从文件中从文件中检索用户名/密码,该ID被传递为URL中的参数。一旦用户登录,就不需要Relog,但是在一段时间后,“会话到期”将在重新加载后才能启动我无法再次登录。这可能是由于我基于我在单个JavaScript对象的决定: ecm.model.desktop.connected

现在,如果 ecm.model.desktop.connected false 它将尝试登录,直到会话到期,这显然没有设置 ecm.model.desktop.connected to 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是否创建了cookie,如果它不是它意味着它过期或从未首先创建,所以我创建它,并使同步发布到logoff.do并重新加载()网站。

一旦创建并重新加载后,我会检查cookie是否再次存在一次,因为它确实检查了ecm.model.desktop.connection是false,或者用户正在尝试使用不同的ID登录。如果发生这种情况,我将使用正确的用户名/密码登录使用正确的用户名/密码来登录登录。

所有已完成用户现在可以访问我的插件提供的功能。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top