Rumah  >  Artikel  >  hujung hadapan web  >  Mari kita bincangkan tentang kaedah pelaksanaan kebenaran penghalaan kawalan vue bahagian hadapan

Mari kita bincangkan tentang kaedah pelaksanaan kebenaran penghalaan kawalan vue bahagian hadapan

PHPz
PHPzasal
2023-04-13 13:38:16869semak imbas

Dalam pembangunan bahagian hadapan, kebenaran kawalan penghalaan adalah bahagian yang sangat asas dan penting. Kebenaran kawalan penghalaan boleh memaparkan halaman penghalaan yang berbeza kepada pengguna berdasarkan identiti dan kebenaran mereka. Ini memastikan pengguna hanya boleh mengakses halaman yang sepadan dengan identiti mereka, meningkatkan keselamatan tapak web dan pengalaman pengguna.

Vue.js ialah rangka kerja bahagian hadapan yang sangat popular yang menyediakan banyak alatan untuk memudahkan pembangunan, termasuk kebenaran kawalan penghalaan. Dalam Vue, kami boleh mengawal kebenaran akses pengguna melalui pengawal penghalaan Kaedah pelaksanaan khusus diperkenalkan di bawah.

1. Cipta laluan

Pertama, kita perlu mencipta jadual penghalaan yang mengandungi semua laluan. Diandaikan di sini bahawa kami mempunyai dua halaman, satu adalah halaman utama, dan satu lagi adalah halaman profil yang memerlukan kebenaran untuk mengakses.

import Vue from 'vue'
import Router from 'vue-router'
import Home from '@/components/Home'
import Profile from '@/components/Profile'

Vue.use(Router)

export default new Router({
  routes: [
    {
      path: '/',
      name: 'Home',
      component: Home
    },
    {
      path: '/profile',
      name: 'Profile',
      component: Profile,
      meta: {
        requiresAuth: true
      }
    }
  ]
})

Dalam jadual penghalaan, kami menambahkan atribut meta: { requiresAuth: true } untuk laluan untuk mengakses halaman profil, menunjukkan bahawa halaman tersebut memerlukan kebenaran untuk mengakses.

2. Konfigurasikan pengawal laluan

Seterusnya, konfigurasikan pengawal laluan dalam Vue. Pengawal laluan ialah fungsi panggil balik yang boleh bertindak balas sebelum dan selepas perubahan laluan. Kami boleh menentukan sama ada pengguna mempunyai hak akses dengan menentukan sama ada pengguna dilog masuk dan identiti pengguna dalam pengawal penghalaan.

Di sini kita mula-mula mentakrifkan pengawal penghalaan bernama auth:

router.beforeEach((to, from, next) => {
  const requiresAuth = to.matched.some(record => record.meta.requiresAuth)
  const currentUser = firebase.auth().currentUser
  if (requiresAuth && !currentUser) {
    next('/login')
  } else {
    next()
  }
})

Dalam pengawal penghalaan ini, kami mula-mula menggunakan to.matched.some(record => record.meta.requiresAuth) untuk menentukan sama ada halaman yang perlu kami akses memerlukan kebenaran. Jika Jika kebenaran diperlukan, teruskan untuk menentukan sama ada pengguna semasa telah log masuk. Jika pengguna tidak log masuk, lompat ke halaman log masuk. Jika tidak, panggil kaedah next() untuk terus melaksanakan lompatan laluan.

3. Laksanakan fungsi log masuk

Akhir sekali, kita perlu melaksanakan fungsi log masuk. Memandangkan di sini diandaikan bahawa kami menggunakan Firebase sebagai bahagian belakang, melaksanakan log masuk memerlukan pemasangan firebase dan firebase-auth pakej terlebih dahulu. Pada halaman log masuk, panggil kaedah signInWithEmailAndPassword Firebase untuk log masuk. Selepas log masuk berjaya, anda boleh melompat ke halaman utama.

import firebase from 'firebase'

export default {
  name: 'Login',
  data () {
    return {
      email: '',
      password: ''
    }
  },
  methods: {
    login () {
      firebase.auth().signInWithEmailAndPassword(this.email, this.password)
        .then(() => {
          this.$router.push('/')
        })
        .catch((error) => {
          console.log(error)
        })
    }
  }
}

Di atas ialah cara melaksanakan kebenaran kawalan penghalaan dalam Vue bahagian hadapan. Melalui fungsi pengawal penghalaan dan log masuk, kami boleh melaksanakan kawalan kebenaran penghalaan asas, melindungi keselamatan tapak web dan meningkatkan pengalaman pengguna.

Atas ialah kandungan terperinci Mari kita bincangkan tentang kaedah pelaksanaan kebenaran penghalaan kawalan vue bahagian hadapan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn