利用session控制 長時間未操作自動退出登錄


做項目時,一般會考慮到長時間未進行操作,能夠自動退出登錄。下邊就利用session來實現這一功能

//采用H5 sessionStorage,保存登錄信息的公共js,不采用jquery
//目前僅為供給平台使用
var _EXPIRE_TIME=30*60*1000;//三十分鍾沒有操作,則注銷
var _interval_handler=-1;
(function () {
    //先判斷是否登錄 cgpt_memberInfo為存在瀏覽器中的session信息
  var memberObjStr = sessionStorage.getItem("cgpt_memberInfo");
  if (memberObjStr) {//已登錄
    //刷新最后使用時間
    sessionStorage.setItem("cgpt_lastVisitTime", new Date().getTime());
    _interval_handler=setInterval(checkExpired, 10*1000);//10秒鍾檢查一次,是否超時
  }
})();

function checkExpired() {
  console.log("10秒檢查一次是否過期"+window.location.href+"::"+new Date());
  var storeLastTime=sessionStorage.getItem("cgpt_lastVisitTime")?sessionStorage.getItem("cgpt_lastVisitTime"):-1;
  if (storeLastTime==-1) cleareInterval(_interval_handler);
  else {
    if ((new Date()).getTime()-storeLastTime>_EXPIRE_TIME) {  //過期了
      //刪除sessionStorage信息
      alert("由於您長時間未進行操作,系統已為您自動退出登錄");
      sessionStorage.clear();
      //把頁頭中的已登錄部分,改為需要登錄的樣子
      document.location.reload();//刷新當前頁面 
      //退出循環
      clearInterval(_interval_handler);
    }
  }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM