Question

Je travaille sur un plugin pour ICN et j'ai réussi à ce qu'il vous connectera de récupérer automatiquement le nom d'utilisateur / mot de passe à partir d'un fichier par un identifiant qui est passé sous forme de paramètre dans l'URL.Une fois qu'un utilisateur s'est connecté, il n'y aura pas besoin de se réagir, cependant, après un certain temps, l'expiration de la session «osciller et même après le rechargement, je ne peux pas l'obtenir pour vous connecter.Cela pourrait être dû au fait que je basais sur ma décision sur un seul objet JavaScript: ECM.MODEL.DESKTOP.Connected .

en ce moment si ecm.model.desktop.connected est faux Il essaiera de vous connecter, cela fonctionne bien jusqu'à l'expiration de la session, qui ne définit apparemment pas le ecm.model.desktop.connected à FALSE, il est toujours défini sur true.J'espère donc apprendre un moyen de dire si la session a expiré.

Ceci est ici mon code de connexion:

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();
}

Était-ce utile?

La solution

J'ai géré une solution de contournement en évitant l'expiration de la session en utilisant entièrement un cookie pour expirer dans les procès-verbaux de «X» faisant une sorte de session de la mienne. Je vérifie d'abord si le cookie est créé, si ce n'est pas cela signifie qu'il n'est pas expiré ou n'a jamais été créé en premier lieu, donc je le crée et crée un appel postal synchrone pour logoff.do et recharger () le site.

Une fois créé et après la rechargement, je vérifie si le cookie existe une fois de plus, car je vérifie si ECM.MODEL.DESKTOP.Connecté est faux ou que l'utilisateur tente de vous connecter avec un identifiant différent.Si cela se produit, je vais avoir une connexion postale synchrone à la connexion.De avec le nom d'utilisateur / mot de passe approprié, puis recharger ().

Tous terminés L'utilisateur a maintenant accès aux fonctionnalités proposées par mon plugin.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top