国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JavaScript > 正文

vue登錄注冊(cè)及token驗(yàn)證實(shí)現(xiàn)代碼

2019-11-19 14:43:59
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

在大多數(shù)網(wǎng)站中,實(shí)現(xiàn)登錄注冊(cè)都是結(jié)合本地存儲(chǔ)cookie、localStorage和請(qǐng)求時(shí)驗(yàn)證token等技術(shù)。而對(duì)于某些功能頁(yè)面,會(huì)嘗試獲取本地存儲(chǔ)中的token進(jìn)行判斷,存在則可進(jìn)入,否則跳到登錄頁(yè)或彈出登錄框。

而在vue單頁(yè)中,我們可以通過(guò)監(jiān)控route對(duì)象,從中匹配信息去決定是否驗(yàn)證token,然后定義后續(xù)行為。

具體實(shí)現(xiàn)代碼如下:

1. 利用router.beforeEach鉤子, 判斷目標(biāo)路由是否攜帶了相關(guān)meta信息

// router.jsimport Vue from 'vue'import VueRouter from 'vue-router'Vue.use(VueRouter)const routes = [ {  path: '/',  component: require('./views/Home'),  meta: {   requiresAuth: true  } },]const router = new VueRouter({ routes: routes})router.beforeEach((to, from, next) => { let token = window.localStorage.getItem('token')  if (to.matched.some(record => record.meta.requiresAuth) && (!token || token === null)) {  next({   path: '/login',   query: { redirect: to.fullPath }  }) } else {  next() }})export default router

2. watch route對(duì)象。原理同上。

<script>  // App.vue  export default {    watch:{      '$route':function(to,from){        let token = window.localStorage.getItem('token');          if (to.matched.some(record => record.meta.requiresAuth) && (!token || token === null)) {            next({             path: '/login',             query: { redirect: to.fullPath }            })          } else {           next()          }      }    }  }</script>

總結(jié)

以上所述是小編給大家介紹的vue登錄注冊(cè)及token驗(yàn)證實(shí)現(xiàn)代碼,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)武林網(wǎng)網(wǎng)站的支持!

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 安达市| 南开区| 奉新县| 丰镇市| 瓮安县| 陵川县| 太白县| 阜南县| 崇文区| 横山县| 廊坊市| 石首市| 孝感市| 三门峡市| 伊通| 喜德县| 宕昌县| 东兰县| 古蔺县| 富阳市| 乌恰县| 曲阜市| 邮箱| 舟山市| 晋宁县| 明星| 阳泉市| 延吉市| 清流县| 甘孜县| 小金县| 昌邑市| 山东| 南澳县| 玉环县| 青川县| 渝北区| 汽车| 大厂| 镇沅| 平泉县|