vueを使ったログイン登録とトークン検証の実装方法

亚连
リリース: 2018-06-20 17:04:48
オリジナル
5573 人が閲覧しました

Vue の単一ページでは、ルート オブジェクトを監視し、そこからの情報を照合してトークンを検証するかどうかを決定し、その後の動作を定義できます。以下は、Vue のログイン登録およびトークン検証機能を共有するためのサンプル コードです。必要な友人はそれを参照してください。ほとんどの Web サイトでは、ログインと登録は、ローカル ストレージ Cookie、localStorage、およびリクエスト時検証を組み合わせることによって実現されます。トークンやその他のテクノロジー。一部の機能ページでは、判断のためにローカル ストレージにトークンを取得しようとします。トークンが存在する場合は入力できます。存在しない場合は、ログイン ページにジャンプするか、ログイン ボックスが表示されます。

Vue の単一ページでは、ルート オブジェクトを監視し、そこからの情報を照合してトークンを検証するかどうかを決定し、その後の動作を定義できます。

具体的な実装コードは次のとおりです:

1. router.beforeEach フックを使用して、ターゲット ルートに関連するメタ情報が含まれているかどうかを判断します

// router.js
import 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. ルート オブジェクトを監視します。原理は上記と同じです。

<script>
  // App.vue
  export default {
    watch:{
      &#39;$route&#39;:function(to,from){
        let token = window.localStorage.getItem(&#39;token&#39;);
          if (to.matched.some(record => record.meta.requiresAuth) && (!token || token === null)) {
            next({
             path: &#39;/login&#39;,
             query: { redirect: to.fullPath }
            })
          } else {
           next()
          }
      }
    }
  }
</script>
ログイン後にコピー
あなたのために上記をまとめました。将来お役に立てば幸いです。

関連記事:

JSでプレビュー効果を実現する方法

three.jsを使用してプロジェクトを作成する

NodeでES6構文を使用する方法(詳細なチュートリアル)

これについての詳細な紹介jsオブジェクトの使用法で

以上がvueを使ったログイン登録とトークン検証の実装方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!