登入過期--localStorage加sessionStorage實現7天登入過期
localStorage實現7天登入過期
實現原理:存localStorage比較初始登入時存在快取的時間戳和現在進入頁面的時間戳,然後用sessionStorage去判斷不勾選但是登入了的狀態
精簡版
function isPastDue() {
// 過期時間7天
var time = 604800000; //1000*60*60*24*7;
var storage = window.localStorage;
var oldTimestamp = storage.getItem('timestamp');//以前存的時間戳
if (oldTimestamp){
var nowTimestamp = new Date().getTime();//當前時間戳
// 如果當前時間戳> 前面存的時間戳+過期時間 表示已經過期
var sumTimestamp = timestamp + time;
if (nowTimestamp > sumTimestamp) {
storage.clear();
}
}
}
完整版:
//1、點選了登入成功後的回撥函式裡
var localStorage = window.localStorage;
var sessionStorage = window.sessionStorage;
var userInfo = res.data.data[0];
if(that.checkBox){//如果勾選了7天
localStorage.setItem("timestamp", new Date().getTime());
sessionStorage.setItem('greenPath',1);
}else{
sessionStorage.setItem('greenPath',0);
}//2、在main.js的router.beforeEach裡
// 7天登入
function isPastDue() {
// 過期時間7天
var time = 604800000; //1000*60*60*24*7;
var storage = window.localStorage;
if (storage.getItem('timestamp')){
var oldTimestamp = storage.getItem('timestamp');//以前存的時間戳
var nowTimestamp = new Date().getTime();//當前時間戳
// 如果當前時間戳> 前面存的時間戳+過期時間 表示已經過期
var sumTimestamp = oldTimestamp + time;
if (nowTimestamp > sumTimestamp) {
storage.clear();
}
}else{
if (sessionStorage.getItem('greenPath')==0) {
return false;
}else{
storage.clear();
}
}
}
相關文章
- JWT過期,修改密碼,登出登入如何處理JWT密碼
- localstorage實現帶過期時間的快取功能快取
- localStorage設定過期時間
- linux伺服器的一些配置(密碼過期策略、登入次數限制、私鑰登入等)Linux伺服器密碼
- 通過selenium突破極驗驗證實現登入
- origin登入密碼不正確或已經過期怎麼辦 origin登入密碼錯誤怎麼解決密碼
- jmeter通過cookies來登入JMeterCookie
- vue通過vue-router攔截實現登入驗證Vue
- Laravel 通過 cookie 實現基於 session 的單點登入LaravelCookieSession
- 使用filter_var()過濾表單,實現laravel登入介面FilterLaravel
- 訂單交易平臺三(登入介面整個實現過程)階段一(只實現簡單的登入功能)
- 密碼過期引起的ssh無法登陸密碼
- MYSQL 連線登入過程分析MySql
- 掃二維碼登入過程
- 教程:已在其地方登陸或會話已過期,請重新登陸會話
- Next.js-Cookie鑑權+續期+退出登入JSCookie
- jwt加meta元資訊實現登入後校驗JWT
- 【網頁登入】QQ 登入、微信登入、微博登入、GitHub 登入網頁Github
- 如何給localStorage設定一個過期時間?
- 怎麼實現谷歌登入?谷歌
- java實現微信登入Java
- 【Java】——模擬登入實現Java
- python+pytest介面自動化(9)-cookie繞過登入(保持登入狀態)PythonCookie
- iOS 支付前登入要有跳過選項iOS
- sql 注入越過登入驗證例項SQL
- Laravel5.6 實現第三方登入 微信登入Laravel
- elasticsearch加賬號密碼登入Elasticsearch密碼
- 網站登入JWT的實現網站JWT
- Java Servlet session實現登入退出JavaServletSession
- Spring+SpringMVC+JDBC實現登入SpringMVCJDBC
- Vue+Express實現登入,登出VueExpress
- .net core 登入全域性驗證過濾器過濾器
- keycloak~關於社群登入的過程說明
- 命令繞過寶塔皮膚強制登入
- SAP Commerce Cloud ASM 模組的登入過程CloudASM
- JWT登入鑑權:避免在使用者操作的過程中JWT到期跳轉登入JWT
- cookie、sessionStorage、localStorageCookieSession
- cookie, sessionStorage, localStorageCookieSession