Vue的路由权限管理
这次给大家带来Vue的路由权限管理,Vue路由权限管理的注意事项有哪些,下面就是实战案例,一起来看一下。
前言
曾经在工作上对 vue 路由权限管理这方面有过研究,这几天又看到了几篇相关的文章,再加上昨天电面中又再一次提及到,就索性整理了一下自己的一些看法,希望对大家有帮助。
实现
大体上实现的思路很简单,先上图:
无非是将路由配置按用户类型分割为 用户路由 和 基本路由,不同的用户类型可能存在不同的 用户路由,具体依赖实际业务。
用户路由: 当前用户所特有的路由
基本路由:所有用户均可以访问的路由
实现控制的方式分两种:
通过vue-router addRoutes 方法注入路由实现控制
通过vue-router beforeEach 钩子限制路由跳转
addRoutes 方式:
通过请求服务端获取当前用户路由配置,编码为 vue-router 所支持的基本格式(具体如何编码取决于前后端协商好的数据格式),通过调用 this.$router.addRoutes 方法将编码好的用户路由注入到现有的 vue-router 实例中去,以实现用户路由。
beforeEach 方式
通过请求服务端获取当前用户路由配置,通过注册 router.beforeEach 钩子对路由的每次跳转进行管理,每次跳转都进行检查,如果目标路由不存再于 基本路由 和 当前用户的 用户路由 中,取消跳转,转为跳转错误页。
以上两种方式均需要在 vue-router 中配置错误页,以保证用户感知权限不足。
两种方式的原理其实都是一样的,只不过 addRoutes 方式 通过注入路由配置告诉 vue-router :“当前我们就只有这些路由,其它路由地址我们一概不认”,而 beforeEach 则更多的是依赖我们手动去帮 vue-router 辨别什么页面可以去,什么页面不可以去。说白了也就是 自动 与 手动 的差别。说到这,估计大家都会觉得既然是 自动 的,那肯定是 addRoutes 最方便快捷了,还能简化业务代码,笔者一开始也是这么认为的,但是!很多人都忽略了一点:
addRoutes 方法仅仅是帮你注入新的路由,并没有帮你剔除其它路由!
设想存在这么一种情况:用户在自己电脑上登录了管理员账号,这个时候会向路由中注入管理员的路由,然后再退出登录,保持页面不刷新,改用普通用户账号进行登录,这个时候又会向路由中注入普通用户的路由,那么,在路由中将存在两种用户类型的路由,即使用户不感知,通过改变 url,普通用户也可以访问管理员的页面!
对于这个问题,也有一个解决办法:
import Vue from 'vue' import Router from 'vue-router' Vue.use(Router) const createRouter = () => new Router({ mode: 'history', routes: [] }) const router = createRouter() export function resetRouter () { const newRouter = createRouter() router.matcher = newRouter.matcher } export default router
通过新建一个全新的 Router,然后将新的 Router.matcher 赋给当前页面的管理 Router,以达到更新路由配置的目的。
笔者做了一个小demo,大家可以去体验一下。
关于上述问题,在vue-router 的 github issues 下有过讨论,分别是:
Add option to Reset/Delete Routes #1436
Feature request: replace routes dynamically #1234
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
Atas ialah kandungan terperinci Vue的路由权限管理. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

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

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas





Ia membolehkan pengguna melakukan operasi yang lebih mendalam dan penyesuaian sistem kebenaran Root ialah kebenaran pentadbir dalam sistem Android. Mendapatkan keistimewaan root biasanya memerlukan satu siri langkah yang membosankan, yang mungkin tidak mesra pengguna biasa, bagaimanapun. Dengan mendayakan kebenaran root dengan satu klik, artikel ini akan memperkenalkan kaedah yang mudah dan berkesan untuk membantu pengguna mendapatkan kebenaran sistem dengan mudah. Fahami kepentingan dan risiko kebenaran root dan mempunyai kebebasan yang lebih besar keizinan Root membolehkan pengguna mengawal sepenuhnya sistem telefon mudah alih. Kuatkan kawalan keselamatan, sesuaikan tema dan pengguna boleh memadamkan aplikasi yang diprapasang. Sebagai contoh, pemadaman fail sistem secara tidak sengaja menyebabkan ranap sistem, penggunaan keistimewaan akar yang berlebihan dan pemasangan perisian hasad secara tidak sengaja juga berisiko, walau bagaimanapun. Sebelum menggunakan keistimewaan root

Bagaimana untuk menetapkan akses kebenaran dalam ruang QQ? Anda boleh menetapkan akses kebenaran dalam ruang QQ, tetapi kebanyakan rakan tidak tahu bagaimana untuk menetapkan akses kebenaran dalam ruang QQ Seterusnya ialah rajah cara menetapkan akses kebenaran dalam ruang QQ yang dibawa oleh editor untuk pengguna Teks tutorial, pengguna yang berminat datang dan lihat! Tutorial penggunaan QQ Bagaimana untuk menetapkan kebenaran untuk ruang QQ 1. Mula-mula buka aplikasi QQ, klik [Avatar] di sudut kiri atas halaman utama 2. Kemudian kembangkan kawasan maklumat peribadi di sebelah kiri dan klik fungsi [Tetapan]. di sudut kiri bawah; 3. Masukkan halaman tetapan Leret untuk mencari pilihan [Privasi] 4. Seterusnya dalam antara muka privasi, pilih perkhidmatan [Tetapan Kebenaran] 5. Kemudian cabar ke halaman terkini dan pilih [Space Dynamics ]; 6. Tetapkan dalam QQ Space sekali lagi

Apache Camel ialah rangka kerja penyepaduan berasaskan Bas Perkhidmatan Perusahaan (ESB) yang mudah menyepadukan aplikasi, perkhidmatan dan sumber data yang berbeza untuk mengautomasikan proses perniagaan yang kompleks. ApacheCamel menggunakan konfigurasi berasaskan laluan untuk mentakrif dan mengurus proses penyepaduan dengan mudah. Ciri utama ApacheCamel termasuk: Fleksibiliti: ApacheCamel boleh disepadukan dengan mudah dengan pelbagai aplikasi, perkhidmatan dan sumber data. Ia menyokong pelbagai protokol, termasuk HTTP, JMS, SOAP, FTP, dll. Kecekapan: ApacheCamel sangat cekap, ia boleh mengendalikan sejumlah besar mesej. Ia menggunakan mekanisme pemesejan tak segerak, yang meningkatkan prestasi. Boleh dikembangkan

Pengurusan kebenaran forum Discuz: Baca panduan tetapan kebenaran Dalam pengurusan forum Discuz, tetapan kebenaran adalah bahagian yang penting. Antaranya, penetapan kebenaran membaca amat penting, kerana ia menentukan skop kandungan yang boleh dilihat oleh pengguna yang berbeza dalam forum. Artikel ini akan memperkenalkan secara terperinci tetapan kebenaran membaca forum Discuz dan cara mengkonfigurasinya secara fleksibel untuk keperluan yang berbeza. 1. Konsep asas kebenaran membaca Dalam forum Discuz, kebenaran membaca terutamanya termasuk konsep berikut yang perlu difahami: Keizinan membaca lalai: Lalai selepas pendaftaran pengguna baharu

Artikel ini akan membawa anda memahami intipati TI dan meneroka lebih lanjut cara mendapatkan kebenaran TI dengan bantuan modul powershell dan NtObjectManager untuk menyelesaikan sebarang operasi yang anda inginkan dalam sistem pengendalian. Jika anda pernah mentadbir sistem Windows, anda harus biasa dengan konsep kumpulan trustedInstaller (TI). Kumpulan TI mempunyai kebenaran penting dalam pengendalian fail sistem dan pendaftaran. Contohnya, anda boleh melihat sifat fail di bawah folder System32 Dalam pilihan keselamatan, kumpulan TI dan pemilik fail mempunyai kebenaran untuk memadam dan mengubah suai fail Malah pentadbir tidak boleh mengubah suai pilihan keselamatan. Oleh itu, untuk pengendalian fail sistem dan pendaftaran, adalah perlu untuk

Apabila kami menggunakan sistem win10, apabila kami menggunakan tetikus untuk mengklik kanan desktop atau menu klik kanan, kami mendapati bahawa menu tidak boleh dibuka, dan kami tidak boleh menggunakan komputer seperti biasa Pada masa ini, kami perlu memulihkan sistem untuk menyelesaikan masalah. Pengurusan menu klik kanan Win10 tidak boleh dibuka: 1. Mula-mula buka panel kawalan kami, dan kemudian klik. 2. Kemudian klik di bawah Keselamatan dan Penyelenggaraan. 3. Klik di sebelah kanan untuk memulihkan sistem. 4. Jika ia masih tidak boleh digunakan, periksa sama ada terdapat masalah dengan tetikus itu sendiri. 5. Jika anda pasti tiada masalah dengan tetikus, tekan + dan masukkan. 6. Selepas pelaksanaan selesai, mulakan semula komputer.

Bagaimana untuk menetapkan kebenaran baca sahaja folder kongsi dalam Win10? Selepas hos berkongsi folder, sesetengah pengguna hanya mahu orang lain mengakses, membaca dan melihat fail, tetapi tidak mahu orang lain mengubah suai fail pada hos. Artikel ini ialah tutorial tentang cara menetapkan kebenaran folder kongsi kepada baca sahaja dan tidak boleh diubah suai. 1. Mula-mula, kongsi folder mengikut proses biasa Pada hos, klik kanan folder yang perlu dikongsi, dan pilih: Properties-Sharing-Advanced Sharing-Check Share this folder; pilihan kebenaran di bawah secara lalai, jika tidak ada, tambahkan akaun Semua orang 3. Hanya semak kebenaran baca di bawah, dan kemudian klik OK 4. Cari folder properties-security dan tambahkan Ever

1. Ambil e-cakera sebagai contoh. Buka [Komputer], dan klik [eDisk], klik kanan [Properties]. Seperti yang ditunjukkan dalam rajah: 2. Dalam halaman [Tetingkap], tukar antara muka kepada pilihan [Keselamatan] dan klik pilihan [Edit] di bawah. Seperti yang ditunjukkan dalam rajah: 3. Dalam pilihan [Kebenaran], klik pilihan [Tambah]. Seperti yang ditunjukkan dalam rajah: 4. Tetingkap pengguna dan kumpulan muncul dan klik pilihan [Lanjutan]. Seperti yang ditunjukkan dalam rajah: 5. Klik untuk mengembangkan pilihan [Cari Sekarang] - [Semua orang] mengikut urutan Apabila selesai, klik OK. Seperti yang ditunjukkan dalam rajah: 6. Apabila anda melihat bahawa pengguna [semua orang] telah ditambahkan ke [Kumpulan atau Pengguna] pada halaman [E Disk Permissions], pilih [semua orang] dan tandakan kotak di hadapan [Full Control] . Selepas tetapan selesai, Hanya tekan [OK]
