문제

ICN 용 플러그인에서 작업하고 있으며 URL의 매개 변수로 전달 된 ID로 파일에서 사용자 이름 / 암호를 자동으로 검색하는 데 로그인 할 수있었습니다.사용자가 로그인 한 후에는 릴로그가 필요하지 않습니다. 그러나 잠시 후에 '세션 만료'가 다시 장착 한 후에도 다시 로그인 할 수 없습니다.이것은 ecm.model.desktop.connected 에 대해 내 결정을 지키는 사실 때문일 수 있습니다.

ecm.model.desktop.connected false 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();
}
.

도움이 되었습니까?

해결책

나는 'x'분으로 만료되도록 쿠키 세트를 사용하여 세션 만료를 완전히 사용하여 세션 만료를 피하기 위해 해결책을 관리했습니다. 먼저 쿠키가 작성되었는지 확인하십시오. 만료되었거나 처음에는 작성되지 않았 음을 의미하지 않으므로 작성하여 로그 오프를 만들고 동기화 된 게시물 호출을 만들고 사이트를 다시로드합니다. 일단 생성되고 다시로드 된 후에 쿠키가 다시 한 번 존재하는지 확인하십시오. ecm.model.desktop.connected가 false이거나 사용자가 다른 ID로 로그인 하려는지 확인하십시오.그렇다면 적절한 사용자 이름 / 암호로 logon.do로 동기화 된 게시물을 만들고 다시 reload ()로 로그인합니다.

완료된 모든 사용자는 이제 내 플러그인이 제공하는 기능에 액세스 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top