Rumah hujung hadapan web View.js Cara melaksanakan pengesahan dan kebenaran pengguna dalam projek Vue

Cara melaksanakan pengesahan dan kebenaran pengguna dalam projek Vue

Oct 15, 2023 am 09:09 AM
pengesahan kebenaran vue-router(vue路由)

Cara melaksanakan pengesahan dan kebenaran pengguna dalam projek Vue

Cara melaksanakan pengesahan dan kebenaran pengguna dalam projek Vue

Dalam beberapa tahun kebelakangan ini, rangka kerja bahagian hadapan Vue secara beransur-ansur menjadi pilihan arus perdana untuk pembangunan web. Apabila membangunkan projek Vue, pengesahan dan kebenaran pengguna adalah fungsi yang sangat diperlukan. Artikel ini akan memperkenalkan secara terperinci cara melaksanakan pengesahan dan kebenaran pengguna dalam projek Vue dari perspektif pelaksanaan teknikal dan memberikan contoh kod khusus.

1. Pengesahan pengguna

Pengesahan pengguna merujuk kepada proses pengesahan identiti pengguna untuk memastikan pengguna mendapat kebenaran undang-undang untuk mengakses sistem. Kaedah pengesahan pengguna biasa termasuk pengesahan nama pengguna dan kata laluan, log masuk pihak ketiga, dsb. Berikut mengambil pengesahan nama pengguna dan kata laluan sebagai contoh untuk memperkenalkan pelaksanaan pengesahan pengguna dalam projek Vue.

  1. Buat komponen halaman log masuk

Dalam projek Vue, anda perlu mencipta komponen halaman log masuk terlebih dahulu. Komponen ini mengandungi kotak input untuk nama pengguna dan kata laluan dan butang log masuk. Apabila pengguna mengklik butang log masuk, pengesahan dilakukan dengan memanggil API bahagian belakang.

Kod sampel adalah seperti berikut:

<template>
  <div>
    <input v-model="username" placeholder="请输入用户名" />
    <input v-model="password" placeholder="请输入密码" type="password" />
    <button @click="login">登录</button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      username: '',
      password: '',
    };
  },
  methods: {
    login() {
      // 调用登录API,验证用户名和密码
      // 如果验证成功,将用户信息存储到本地或会话存储中
    },
  },
};
</script>
Salin selepas log masuk
  1. Sahkan nama pengguna dan kata laluan

Dalam kaedah log masuk, hubungi API bahagian belakang untuk mengesahkan ketepatan nama pengguna dan kata laluan. Jika pengesahan berjaya, maklumat pengguna boleh disimpan ke storan tempatan atau storan sesi untuk memudahkan akses dan kawalan kebenaran berikutnya.

Kod sampel adalah seperti berikut:

methods: {
  login() {
    // 调用登录API,验证用户名和密码的正确性
    api.login(this.username, this.password)
      .then(response => {
        const { token, userInfo } = response.data;
        // 将token和用户信息存储到本地存储或会话存储中
        localStorage.setItem('token', token);
        localStorage.setItem('userInfo', JSON.stringify(userInfo));
        // 跳转到主页或其他需要认证的页面
        this.$router.push('/home');
      })
      .catch(error => {
        console.error('登录失败', error);
      });
  },
},
Salin selepas log masuk
  1. Strategi pengesahan

Selepas pengesahan pengguna, pengesahan biasanya diperlukan dalam setiap halaman yang memerlukan kebenaran. Anda boleh menentukan sama ada pengguna mempunyai kebenaran untuk mengakses halaman dengan menyemak maklumat pengguna dalam storan tempatan atau storan sesi.

Kod sampel adalah seperti berikut:

beforeRouteEnter(to, from, next) {
  // 检查本地存储或会话存储中是否存在用户信息
  const userInfo = localStorage.getItem('userInfo');
  if (userInfo) {
    next();
  } else {
    // 用户未登录,跳转到登录页面
    next('/login');
  }
},
Salin selepas log masuk

2. Kebenaran pengguna

Kebenaran pengguna merujuk kepada menentukan hak akses pengguna kepada sumber sistem. Dalam projek Vue, pengurusan kebenaran pengguna boleh dicapai melalui mekanisme pengawal penghalaan. Yang berikut menggunakan pengawal penghalaan sebagai contoh untuk memperkenalkan pelaksanaan kebenaran pengguna dalam projek Vue.

  1. Tentukan jadual penghalaan

Dalam projek Vue, tentukan jadual penghalaan, termasuk halaman yang memerlukan kawalan kebenaran.

Kod sampel adalah seperti berikut:

const routes = [
  {
    path: '/home',
    component: Home,
    // 需要进行权限控制的页面,在路由元信息中定义所需的角色
    meta: { requiresAuth: true, roles: ['admin', 'user'] },
  },
  // 其他路由...
];
Salin selepas log masuk
  1. Lakukan kebenaran dalam pengawal penghalaan

Gunakan pengawal navigasi Vue sebelumSetiap untuk membuat pertimbangan kebenaran sebelum lompatan penghalaan. Tentukan sama ada pengguna mempunyai kebenaran untuk mengakses halaman berdasarkan maklumat peranan yang ditakrifkan dalam maklumat pengguna dan maklumat meta penghalaan.

Kod sampel adalah seperti berikut:

router.beforeEach((to, from, next) => {
  const requiresAuth = to.matched.some(record => record.meta.requiresAuth);
  if (requiresAuth) {
    // 检查本地存储或会话存储中是否存在用户信息
    const userInfo = localStorage.getItem('userInfo');
    if (userInfo) {
      const { roles } = JSON.parse(userInfo);
      const requiredRoles = to.meta.roles;
      if (roles.some(role => requiredRoles.includes(role))) {
        // 用户具有访问页面的权限
        next();
      } else {
        // 用户权限不足,跳转到无权限页面
        next('/denied');
      }
    } else {
      // 用户未登录,跳转到登录页面
      next('/login');
    }
  } else {
    // 公开页面,无需授权
    next();
  }
});
Salin selepas log masuk

Melalui contoh kod di atas, kami boleh melaksanakan fungsi pengesahan dan kebenaran pengguna dalam projek Vue. Pengesahan pengguna memastikan identiti sah pengguna dengan mengesahkan nama pengguna, kata laluan dan maklumat lain. Keizinan pengguna menggunakan mekanisme pengawal laluan untuk menentukan sama ada pengguna mempunyai kuasa untuk mengakses halaman sebelum laluan melompat. Pelaksanaan fungsi ini boleh membantu kami membina projek Vue yang selamat dan boleh dipercayai.

Atas ialah kandungan terperinci Cara melaksanakan pengesahan dan kebenaran pengguna dalam projek Vue. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apa itu Vuex dan bagaimana saya menggunakannya untuk pengurusan negeri dalam aplikasi Vue? Apa itu Vuex dan bagaimana saya menggunakannya untuk pengurusan negeri dalam aplikasi Vue? Mar 11, 2025 pm 07:23 PM

Artikel ini menerangkan Vuex, perpustakaan pengurusan negeri untuk Vue.js. Ia memperincikan konsep teras (keadaan, getters, mutasi, tindakan) dan menunjukkan penggunaan, menekankan manfaatnya untuk projek yang lebih besar berbanding alternatif yang lebih mudah. Debugging dan Structuri

Bagaimanakah saya melaksanakan teknik penghalaan lanjutan dengan Vue Router (laluan dinamik, laluan bersarang, pengawal laluan)? Bagaimanakah saya melaksanakan teknik penghalaan lanjutan dengan Vue Router (laluan dinamik, laluan bersarang, pengawal laluan)? Mar 11, 2025 pm 07:22 PM

Artikel ini meneroka teknik penghala Vue maju. Ia meliputi penghalaan dinamik (menggunakan parameter), laluan bersarang untuk navigasi hierarki, dan pengawal laluan untuk mengawal akses dan pengambilan data. Amalan Terbaik Untuk Mengurus Laluan Kompleks

Bagaimana saya membuat dan menggunakan plugin tersuai dalam vue.js? Bagaimana saya membuat dan menggunakan plugin tersuai dalam vue.js? Mar 14, 2025 pm 07:07 PM

Artikel membincangkan membuat dan menggunakan plugin Vue.js adat, termasuk pembangunan, integrasi, dan amalan terbaik penyelenggaraan.

Bagaimanakah saya mengkonfigurasi Vue CLI untuk menggunakan sasaran binaan yang berbeza (pembangunan, pengeluaran)? Bagaimanakah saya mengkonfigurasi Vue CLI untuk menggunakan sasaran binaan yang berbeza (pembangunan, pengeluaran)? Mar 18, 2025 pm 12:34 PM

Artikel ini menerangkan cara mengkonfigurasi Vue CLI untuk sasaran membina yang berbeza, menukar persekitaran, mengoptimumkan pembentukan pengeluaran, dan memastikan peta sumber dalam pembangunan untuk debugging.

Bagaimanakah saya menggunakan pohon gemetar di vue.js untuk menghapuskan kod yang tidak digunakan? Bagaimanakah saya menggunakan pohon gemetar di vue.js untuk menghapuskan kod yang tidak digunakan? Mar 18, 2025 pm 12:45 PM

Artikel ini membincangkan menggunakan pohon gemetar di vue.js untuk menghapuskan kod yang tidak digunakan, memperincikan persediaan dengan modul ES6, konfigurasi webpack, dan amalan terbaik untuk pelaksanaan yang berkesan.

Apakah ciri-ciri utama Vue.js (seni bina berasaskan komponen, DOM maya, pengikatan data reaktif)? Apakah ciri-ciri utama Vue.js (seni bina berasaskan komponen, DOM maya, pengikatan data reaktif)? Mar 14, 2025 pm 07:05 PM

Vue.js meningkatkan pembangunan web dengan seni bina berasaskan komponen, DOM maya untuk prestasi, dan data reaktif yang mengikat untuk kemas kini UI masa nyata.

Bagaimana saya boleh menyumbang kepada komuniti Vue.js? Bagaimana saya boleh menyumbang kepada komuniti Vue.js? Mar 14, 2025 pm 07:03 PM

Artikel ini membincangkan pelbagai cara untuk menyumbang kepada komuniti Vue.js, termasuk meningkatkan dokumentasi, menjawab soalan, pengekodan, mewujudkan kandungan, menganjurkan acara, dan sokongan kewangan. Ia juga meliputi terlibat dalam Projek Sumber Terbuka

Bagaimanakah saya menggunakan Vue dengan Docker untuk penggunaan kontena? Bagaimanakah saya menggunakan Vue dengan Docker untuk penggunaan kontena? Mar 14, 2025 pm 07:00 PM

Artikel ini membincangkan menggunakan VUE dengan Docker untuk penempatan, memberi tumpuan kepada persediaan, pengoptimuman, pengurusan, dan pemantauan prestasi aplikasi VUE dalam bekas.

See all articles