Вопрос

Я работаю над плагином для ICN, и мне удалось автоматически войти в систему, извлечение имени пользователя / пароля из файла по идентификатору, которое передается как параметр в URL.Как только пользователь вошел в систему, не нужно будет восстанавливать, однако через некоторое время «истечение сеанса» ударит и даже после перезагрузки я не могу получить его для входа в систему.Это может быть связано с тем, что я основываю свое решение о одном объекте 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 истекает в нескольких минутах, делая свой собственный сеанс. Сначала я проверяю, создан ли cookie, если это не значит, что он истек или истек, либо никогда не был создан в первую очередь, поэтому я создаю его и создаю синхронный почтовый вызов для logoff.do и перезагрузить () сайт.

После создания и после перезагрузки я проверяю, существует ли файл cookie еще раз, поскольку он проверяет, если ECM.Model.desktop.Connected является ложным или пользователь пытается войти в систему с другим идентификатором.Если это произойдет, у меня будет его войти в систему, сделав синхронный пост. Вызов в logon.do с правильным именем пользователя / паролем, а затем перезагрузить ().

Все сделано Пользователь имеет доступ к функциям, предлагаемым моим плагином.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top