Rumah hujung hadapan web View.js Cara melaksanakan kawalan kebenaran dalam pembangunan teknologi Vue

Cara melaksanakan kawalan kebenaran dalam pembangunan teknologi Vue

Oct 09, 2023 pm 07:43 PM
vue kebenaran kawalan

Cara melaksanakan kawalan kebenaran dalam pembangunan teknologi Vue

Cara melaksanakan kawalan kebenaran dalam pembangunan teknologi Vue

Dengan pembangunan berterusan pembangunan bahagian hadapan, Vue telah menjadi rangka kerja pembangunan bahagian hadapan yang sangat popular. Dalam projek sebenar, kawalan kebenaran adalah fungsi yang sangat penting, yang boleh memastikan pengguna hanya boleh mengakses halaman dan fungsi yang mereka mempunyai kebenaran. Artikel ini akan memperkenalkan cara melaksanakan kawalan kebenaran dalam pembangunan teknologi Vue dan menyediakan beberapa contoh kod khusus.

  1. Analisis Keperluan

Sebelum mula melaksanakan kawalan kebenaran, anda mesti menjalankan analisis keperluan terlebih dahulu. Kami perlu menentukan halaman dan fungsi yang memerlukan kawalan kebenaran, dan tahap kebenaran pengguna dengan peranan yang berbeza. Sebagai contoh, pentadbir mungkin mempunyai akses penuh kepada semua halaman dan ciri, manakala pengguna biasa hanya boleh mengakses halaman dan ciri tertentu. Berdasarkan analisis permintaan, kami boleh merumuskan strategi kawalan kebenaran yang sepadan.

  1. Tentukan laluan dan pengawal laluan

Dalam Vue, penghalaan adalah sangat penting. Kita boleh menggunakan Penghala Vue untuk mentakrifkan penghalaan halaman dan melaksanakan kawalan kebenaran melalui pengawal laluan. Pengawal laluan boleh melakukan beberapa operasi pemintasan sebelum dan selepas navigasi laluan.

Pertama, tentukan laluan yang memerlukan kawalan kebenaran dan peranan yang sepadan dalam fail penghalaan. Contohnya:

const routes = [
  {
    path: '/admin',
    name: 'admin',
    component: AdminPage,
    meta: { requiresAuth: true, roles: ['admin'] }
  },
  {
    path: '/user',
    name: 'user',
    component: UserPage,
    meta: { requiresAuth: true, roles: ['admin', 'user'] }
  },
  {
    path: '/login',
    name: 'login',
    component: LoginPage
  }
]
Salin selepas log masuk

Dalam kod di atas, halaman 'admin' memerlukan pengguna dengan peranan 'admin' untuk mengakses dan halaman 'user' memerlukan pengguna dengan peranan 'admin' dan 'user' untuk mengakses. Halaman 'log masuk' adalah awam dan tidak memerlukan kebenaran.

Seterusnya, gunakan pengawal penghalaan dalam contoh Vue untuk kawalan kebenaran. Contohnya:

router.beforeEach((to, from, next) => {
  const requiresAuth = to.matched.some(record => record.meta.requiresAuth)
  const roles = to.meta.roles

  if (requiresAuth && !isAuthenticated()) {
    // 用户未登录,跳转到登录页面
    next({ name: 'login' })
  } else if (requiresAuth && roles && !hasRole(roles)) {
    // 用户无权限访问该页面,跳转到没有权限提示页面
    next({ name: 'noAccess' })
  } else {
    // 用户有权限访问该页面
    next()
  }
})
Salin selepas log masuk

Dalam kod di atas, kami mula-mula menentukan sama ada halaman yang ingin kami akses memerlukan kawalan kebenaran Jika ya dan pengguna tidak log masuk, kami akan melompat ke halaman log masuk. Jika pengguna log masuk tetapi tidak mempunyai kebenaran untuk mengakses halaman tersebut, pengguna akan dialihkan ke halaman gesaan tanpa kebenaran. Akhir sekali, jika pengguna mempunyai kebenaran untuk mengakses halaman, teruskan menavigasi ke halaman.

  1. Kawalan kebenaran peringkat butang

Selain kawalan kebenaran peringkat halaman, kadangkala ia juga perlu untuk mengawal kebenaran butang. Sebagai contoh, hanya pentadbir boleh melakukan operasi berbahaya. Dalam Vue, kawalan kebenaran peringkat butang boleh dilaksanakan melalui arahan. Contohnya:

Vue.directive('permission', {
  bind: function (el, binding, vnode) {
    const roles = binding.value

    if (!hasRole(roles)) {
      el.style.display = 'none'
    }
  }
})
Salin selepas log masuk

Dalam kod di atas, kami mentakrifkan arahan yang dipanggil 'kebenaran'. Apabila arahan 'v-permission' digunakan pada elemen butang, ia akan ditentukan berdasarkan nilai arahan sama ada pengguna mempunyai kebenaran. Jika anda tidak mempunyai kebenaran, tukar gaya butang kepada tersembunyi.

  1. Kawalan kebenaran peringkat data

Kadangkala perlu menapis data berdasarkan kebenaran pengguna. Sebagai contoh, pentadbir boleh melihat semua maklumat pengguna, manakala pengguna biasa hanya boleh melihat maklumat mereka sendiri. Dalam Vue, kawalan kebenaran peringkat data boleh dicapai melalui sifat yang dikira. Contohnya:

computed: {
  filteredUsers: function () {
    if (hasRole(['admin'])) {
      // 管理员可以查看所有用户信息
      return this.users
    } else {
      // 普通用户只能查看自己的信息
      return this.users.filter(user => user.id === this.currentUser.id)
    }
  }
}
Salin selepas log masuk

Dalam kod di atas, kami menapis maklumat pengguna berdasarkan peranan pengguna. Jika anda seorang pentadbir, semua maklumat pengguna akan dikembalikan jika anda adalah pengguna biasa, hanya maklumat anda sendiri yang akan dikembalikan.

Ringkasan

Melaksanakan kawalan kebenaran dalam pembangunan teknologi Vue adalah tugas penting. Kawalan kebenaran peringkat halaman boleh dicapai dengan menentukan laluan dan pengawal laluan. Melalui arahan dan sifat yang dikira, kawalan kebenaran peringkat butang dan peringkat data boleh dicapai. Melalui strategi kawalan kebenaran yang munasabah, anda boleh memastikan bahawa pengguna hanya boleh mengakses halaman dan fungsi yang mereka mempunyai kebenaran. Di atas adalah beberapa contoh kod khusus, saya harap ia akan membantu semua orang.

Atas ialah kandungan terperinci Cara melaksanakan kawalan kebenaran dalam pembangunan teknologi 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

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

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)

Cara menggunakan bootstrap di vue Cara menggunakan bootstrap di vue Apr 07, 2025 pm 11:33 PM

Menggunakan bootstrap dalam vue.js dibahagikan kepada lima langkah: Pasang bootstrap. Import bootstrap di main.js. Gunakan komponen bootstrap secara langsung dalam templat. Pilihan: Gaya tersuai. Pilihan: Gunakan pemalam.

Cara menambah fungsi ke butang untuk vue Cara menambah fungsi ke butang untuk vue Apr 08, 2025 am 08:51 AM

Anda boleh menambah fungsi ke butang VUE dengan mengikat butang dalam templat HTML ke kaedah. Tentukan kaedah dan tulis logik fungsi dalam contoh Vue.

Cara merujuk fail js dengan vue.js Cara merujuk fail js dengan vue.js Apr 07, 2025 pm 11:27 PM

Terdapat tiga cara untuk merujuk kepada fail JS dalam vue.js: Secara langsung tentukan jalan menggunakan & lt; skrip & gt; tag ;; import dinamik menggunakan cangkuk kitaran hayat yang dipasang (); dan mengimport melalui Perpustakaan Pengurusan Negeri VUEX.

Cara Menggunakan Watch di Vue Cara Menggunakan Watch di Vue Apr 07, 2025 pm 11:36 PM

Pilihan Watch di Vue.js membolehkan pemaju mendengar perubahan dalam data tertentu. Apabila data berubah, tontonkan mencetuskan fungsi panggil balik untuk melakukan paparan kemas kini atau tugas lain. Pilihan konfigurasinya termasuk segera, yang menentukan sama ada untuk melaksanakan panggilan balik dengan serta -merta, dan mendalam, yang menentukan sama ada untuk mendengarkan secara rekursif terhadap objek atau tatasusunan.

Apakah yang dimaksudkan dengan pembangunan Vue Multi-Page? Apakah yang dimaksudkan dengan pembangunan Vue Multi-Page? Apr 07, 2025 pm 11:57 PM

Pembangunan pelbagai halaman Vue adalah cara untuk membina aplikasi menggunakan rangka kerja VUE.JS, di mana permohonan dibahagikan kepada halaman berasingan: Penyelenggaraan kod: Memisahkan aplikasi ke dalam beberapa halaman boleh menjadikan kod lebih mudah untuk dikendalikan dan diselenggarakan. Modularity: Setiap halaman boleh digunakan sebagai modul yang berasingan untuk penggunaan semula dan penggantian mudah. Routing mudah: Navigasi antara halaman boleh diuruskan melalui konfigurasi penghalaan mudah. Pengoptimuman SEO: Setiap halaman mempunyai URL sendiri, yang membantu SEO.

Cara kembali ke halaman sebelumnya oleh Vue Cara kembali ke halaman sebelumnya oleh Vue Apr 07, 2025 pm 11:30 PM

Vue.js mempunyai empat kaedah untuk kembali ke halaman sebelumnya: $ router.go (-1) $ router.back () menggunakan & lt; router-link to = & quot;/& quot; Komponen Window.History.Back (), dan pemilihan kaedah bergantung pada tempat kejadian.

Cara Menggunakan Vue Traversal Cara Menggunakan Vue Traversal Apr 07, 2025 pm 11:48 PM

Terdapat tiga kaedah umum untuk vue.js untuk melintasi tatasusunan dan objek: Arahan V-untuk digunakan untuk melintasi setiap elemen dan membuat templat; Arahan V-mengikat boleh digunakan dengan V-untuk menetapkan nilai atribut secara dinamik untuk setiap elemen; dan kaedah .map boleh menukar elemen array ke dalam tatasusunan baru.

Cara melompat tag ke vue Cara melompat tag ke vue Apr 08, 2025 am 09:24 AM

Kaedah untuk melaksanakan lompatan tag dalam Vue termasuk: menggunakan tag dalam templat HTML untuk menentukan atribut HREF. Gunakan komponen router-link routing VUE. Gunakan ini. $ Router.push () kaedah dalam JavaScript. Parameter boleh dilalui melalui parameter pertanyaan dan laluan dikonfigurasikan dalam pilihan penghala untuk lompatan dinamik.

See all articles