vue-element-admin後臺 登入時 [記住我] 功能
1.服務端set-cookie根據login的引數rememberMe設定cookie的週期是‘當前會話’還是一段時間,如1一週。同時允許跨域訪問
header("Access-Control-Allow-Origin: 域名"); //PHP
@CrossOrigin //Spring mvc
2.登入後,服務端把token的cookie資訊通過http報文傳送回瀏覽器。
3.axios訪問時,需設定允許攜帶cookie,才能在要求登入的介面中帶上伺服器端的cookie資訊。
export function setToken(token, persistent =false) {
if (persistent) {
return Cookies.set(TokenKey, token, {expires: EXP })
}else {
return Cookies.set(TokenKey, token)
}
}
const service = axios.create({
baseURL: base_url, // api 的 base_url
timeout:5000, // 請求超時時間
withCredentials:true// 允許攜帶cookie
})
4.當前token可通過'js-cookie'中的set方法(每個瀏覽器對cookie的大小和數量都有限制)
Cookies.set(TokenKey, token, {expires: EXP })
5.可使用本地儲存儲存使用者資訊,過期時間與服務端一致
如果是rememberMe=true,則使用localStorage儲存,並設定過期時間;
如果rememberMe=false,則使用sessionStorage儲存,會話結束就過期(也可以使用cookie記錄使用者資訊)。
- 設定儲存的過期時間
//utils/auth.js
const userInfoKey ='userInfo'
const EXP =7 // day
export function setUserInfo(data, persistent =false) {
if (persistent) {
localStorageSetItem(userInfoKey, data)
}else {
sessionStorage.setItem(userInfoKey, JSON.stringify(data))
}
}
// EXP * 24 * 60 * 60 * 1 * 1000
export function getUserInfo() {
if (sessionStorage.getItem(userInfoKey)) {
return JSON.parse(sessionStorage.getItem(userInfoKey))
}else {
return localStorageGetItem(userInfoKey, EXP *24 *60 *60 *1 *1000)
}
}
//utils/index.js
// localStorage的Set方法封裝:記錄時間
export function localStorageSetItem(key, value) {
const curTime =new Date().getTime()
localStorage.setItem(key, JSON.stringify({data: value, time: curTime }))
}
// localStorage的Get方法封裝:根據過期時間獲取
export function localStorageGetItem(key, exp) {
const data = localStorage.getItem(key)
const dataObj = JSON.parse(data)
if (new Date().getTime() - dataObj.time > exp) {
onsole.log('使用者資訊已過期')
return {}
}else {
return dataObj.data
}
}
相關文章
- SharedPreferences實現記住密碼----自動登入功能密碼
- Asp.Net MVC記住使用者登入資訊下次直接登入功能ASP.NETMVC
- SpringSecurity(2)---記住我功能實現SpringGse
- 電商後臺管理系統——登入功能
- SSH 遠端登入「記住密碼」密碼
- PbootCMS後臺登陸密碼忘記/找回後臺登入密碼外掛boot密碼
- springboot + shiro 驗證碼與記住登入Spring Boot
- PbootCMS後臺登陸密碼忘記/找回密碼後臺登入密碼外掛boot密碼
- 直播app原始碼,登入時自動輸入密碼/自動記住密碼APP原始碼密碼
- SpringBoot + Spring Security 學習筆記(四)記住我功能實現Spring Boot筆記
- PbootCMS忘記登入密碼怎麼辦?忘記了PBootCMS後臺的登入密碼boot密碼
- vue-element-admin 入坑記(一)vue-element-admin 中文Vue
- 通過jquery.cookie.js實現記住使用者名稱、密碼登入功能jQueryCookieJS密碼
- 請教一個問題,我在本地測試後臺可以正常登入的,為什麼將原始碼打包覆蓋到另外一臺電腦上後登入後臺時沒有反應原始碼
- 部落格後臺登入,使用者,說說等功能實現
- vue-element-admin擼後臺實踐(一)Vue
- 登入功能
- 帝國cms網站忘記後臺登入認證碼、登入安全答案怎麼辦?網站
- vue-element-admin 登陸Vue
- 記住我的實現方式
- Laravel 中 “記住我” 原理分析Laravel
- Fastadmin隱藏後臺登入入口地址?AST
- 帝國cms登入後臺提示“登入成功”,接著又提示“您還未登入”
- 直播app系統原始碼,簡單的登入介面(登入、註冊、記住密碼等按鍵)APP原始碼密碼
- Spring Security系列之記住我(十二)Spring
- Node + Express 後臺開發 —— 登入標識Express
- PbootCMS程式後臺登入密碼重置工具boot密碼
- SQL Server 禁用Windows身份登入時忘記其他賬號如sa登入密碼後重置密碼SQLServerWindows密碼
- 直播系統原始碼,自動登入及記住密碼實現原始碼密碼
- springmvc入門登入功能SpringMVC
- 後臺我做了2次開發 為什麼登入成功卻不跳轉呢
- zblog升級之後不能登入後臺怎麼回事
- C# 實現記住密碼功能C#密碼
- Ant design pro使用(五):未登入時自動跳轉到登入頁,登入之後不再返回登入頁
- WordPress入門03-如何登入WordPress網站後臺網站
- vue-element-admin改造接入後臺,搭建有來商城youlai-mall後臺前端管理平臺VueAI前端
- 直播app系統原始碼,使用者登入後選擇記住密碼,下次自動填充密碼APP原始碼密碼
- postmam響應資料的提取和關聯,用於登入介面後面其他功能依賴登入功能