欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

vue session自動(dòng)登錄

在開(kāi)發(fā)Web應(yīng)用時(shí),經(jīng)常會(huì)遇到一個(gè)小問(wèn)題,用戶退出登錄后,再次打開(kāi)頁(yè)面,需要重新輸入賬號(hào)密碼登錄。這給用戶帶來(lái)了不必要的麻煩。而我們可以通過(guò)Vue的session自動(dòng)登錄來(lái)避免這個(gè)問(wèn)題。

session是后端用于保存用戶信息的技術(shù)。具體而言,在用戶登錄后,后端會(huì)生成一個(gè)session,保存該用戶的相關(guān)信息,然后將該session的標(biāo)識(shí)符返回給前端瀏覽器。后續(xù)的訪問(wèn),前端瀏覽器將該session標(biāo)識(shí)符傳給服務(wù)端作為驗(yàn)證,從而實(shí)現(xiàn)自動(dòng)登錄。

// 登錄
login() {
// 發(fā)送請(qǐng)求到后臺(tái)進(jìn)行登錄驗(yàn)證
axios.post('/api/login', { username: this.username, password: this.password }).then(res =>{
// 后端驗(yàn)證通過(guò),設(shè)置session存儲(chǔ)信息
sessionStorage.setItem('user', JSON.stringify(res.data.user));
// 在當(dāng)前頁(yè)路由中跳轉(zhuǎn)到首頁(yè)
this.$router.push({ path: '/' });
}).catch(err =>{
// 后端驗(yàn)證不通過(guò),給出錯(cuò)誤提示
this.$message.error('登錄失敗,請(qǐng)檢查用戶名和密碼!');
console.log(err);
});
},

通過(guò)使用SessionStorage對(duì)象,我們可以在瀏覽器中保存用戶信息,從而實(shí)現(xiàn)自動(dòng)登錄功能。具體而言,在用戶登錄成功后,我們會(huì)將用戶信息通過(guò)sessionStorage.setItem()方法存儲(chǔ)到瀏覽器中。在重新打開(kāi)網(wǎng)頁(yè)時(shí),我們首先判斷瀏覽器中是否存在用戶信息。如存在,則直接進(jìn)行自動(dòng)登錄;如不存在,則跳轉(zhuǎn)到登錄頁(yè)。具體代碼如下:

// 進(jìn)入路由前判斷是否登錄
router.beforeEach((to, from, next) =>{
const user = JSON.parse(sessionStorage.getItem('user') || '{}');
if (to.meta.requireAuth) {
if (user && user.id) {
next();
} else {
next({ path: '/login' })
}
} else {
next();
}
});

通過(guò)Vue的路由鉤子beforeEach()方法,我們可以在進(jìn)入路由前對(duì)登錄狀態(tài)進(jìn)行判斷。具體而言,我們判斷用戶信息是否存在,并且用戶信息中是否包含id屬性。如果包含,則表示用戶已經(jīng)登錄,可以直接跳轉(zhuǎn)到目標(biāo)路由;如果不包含,則表示用戶尚未登錄,需要跳轉(zhuǎn)到登錄頁(yè)。

通過(guò)以上的代碼實(shí)現(xiàn),我們能夠在Vue中實(shí)現(xiàn)用戶自動(dòng)登錄功能,為用戶提供更加方便的使用體驗(yàn)。但是需要注意的是,session機(jī)制存在著一定的安全隱患,如不當(dāng)使用可能導(dǎo)致信息泄露,因此我們需要在使用session的同時(shí),加入一些必要的安全措施,如設(shè)置session過(guò)期時(shí)間,以此保證用戶信息的安全性。