Maison interface Web Voir.js Comment utiliser Vue Router pour implémenter la protection de routage et le contrôle des autorisations ?

Comment utiliser Vue Router pour implémenter la protection de routage et le contrôle des autorisations ?

Jul 21, 2023 pm 09:53 PM
权限控制 vue router 路由守卫

Comment utiliser Vue Router pour implémenter la protection de routage et le contrôle des autorisations ?

Grâce à la large application de Vue.js, Vue Router est devenu un gestionnaire de routage couramment utilisé dans le développement de Vue.js. Vue Router fournit non seulement des fonctions de routage simples et puissantes, mais implémente également un contrôle des autorisations via des gardes d'itinéraire pour garantir que les utilisateurs respectent les règles d'autorisation lors de l'accès aux itinéraires. Cet article expliquera comment utiliser Vue Router pour implémenter des gardes de routage et un contrôle des autorisations, et fournira des exemples de code pertinents.

1. Concepts de base

Avant de commencer, comprenons quelques concepts de base.

  1. Route Guard : une fonction de crochet déclenchée lorsque l'itinéraire d'un utilisateur saute, utilisée pour contrôler les droits d'accès de l'utilisateur.
  2. Autorisations de routage : différents rôles d'utilisateur peuvent avoir des autorisations d'accès différentes. Le contrôle des autorisations détermine les itinéraires auxquels l'utilisateur accède en fonction du rôle d'utilisateur.
  3. Méta-informations de routage (méta) : des méta-informations peuvent être ajoutées dans la configuration du routage pour décrire des informations supplémentaires sur l'itinéraire, telles que les exigences d'autorisation, etc.

Ci-dessous, nous expliquerons comment utiliser Vue Router pour implémenter la protection d'itinéraire et le contrôle des autorisations.

2. Route Guards

Vue Router propose trois types de gardes de route :

  1. Pré-garde globale (beforeEach) : déclenchée avant le saut d'itinéraire, souvent utilisée pour vérifier si l'utilisateur est connecté et vérifier les autorisations de l'utilisateur, etc.
  2. Garde de résolution globale (beforeResolve) : déclenchée avant l'analyse du composant de routage. Elle est souvent utilisée dans les scénarios où le composant est rendu de manière asynchrone après l'obtention des données.
  3. Global post hook (afterEach) : déclenché après un saut de routage, souvent utilisé pour des opérations telles que le comptage des PV de page et la modification du titre de la page.

Voici un exemple simple qui montre comment utiliser une garde globale beforeEach pour vérifier si l'utilisateur est connecté :

import Vue from 'vue'
import VueRouter from 'vue-router'

Vue.use(VueRouter)

const router = new VueRouter({
  routes: [
    // ... 路由配置
  ]
})

// 全局前置守卫
router.beforeEach((to, from, next) => {
  // 检查用户是否登录
  const isAuthenticated = checkAuth()

  // 如果用户已登录,允许访问
  if (isAuthenticated) {
    next()
  } else {
    // 如果用户未登录,进行跳转至登录页
    next('/login')
  }
})
Copier après la connexion

Dans le code ci-dessus, nous implémentons la garde globale beforeEach via beforeEach. La fonction checkAuth est utilisée pour vérifier si l'utilisateur est connecté. Si l'utilisateur est connecté, appelez next() pour autoriser l'accès à la route. Si vous n'êtes pas connecté, appelez next('/login ') Accédez à la page de connexion. beforeEach 来实现全局前置守卫。checkAuth 函数用于检查用户是否登录,如果用户已登录则调用 next() 允许访问路由,如果用户未登录则调用 next('/login') 跳转至登录页。

三、权限控制

在实际开发中,我们经常需要根据用户角色来控制用户对某些路由的访问权限。Vue Router提供了路由元信息(meta)来满足这种需求。

我们可以在路由配置中为每个路由添加一个 meta 属性来描述该路由的访问权限要求。下面是一个简单的示例,演示如何使用 meta 控制权限:

const router = new VueRouter({
  routes: [
    {
      path: '/admin',
      component: Admin,
      meta: {
        requiresAuth: true, // 该路由要求用户登录
        requiresAdmin: true // 该路由要求用户具有管理员权限
      }
    },
    // ... 其他路由配置
  ]
})
Copier après la connexion

通过上述配置,我们可以知道访问 /admin 路由需要用户登录且具有管理员权限。

现在,我们来实现一个权限控制的路由守卫:

router.beforeEach((to, from, next) => {
  const isAuthenticated = checkAuth()
  const isAdmin = checkAdmin()

  // 判断是否需要登录
  if (to.meta.requiresAuth && !isAuthenticated) {
    next('/login')
  }
  // 判断是否需要管理员权限
  else if (to.meta.requiresAdmin && !isAdmin) {
    next('/403')
  }
  // 允许访问
  else {
    next()
  }
})
Copier après la connexion

在上述代码中,我们通过判断路由的 meta

3. Contrôle des autorisations

Dans le développement réel, nous devons souvent contrôler l'accès des utilisateurs à certaines routes en fonction des rôles des utilisateurs. Vue Router fournit des méta-informations de routage (méta) pour répondre à ce besoin.

Nous pouvons ajouter un attribut meta à chaque route dans la configuration du routage pour décrire les exigences d'autorisation d'accès de la route. Ce qui suit est un exemple simple qui montre comment utiliser meta pour contrôler les autorisations : 🎜rrreee🎜Grâce à la configuration ci-dessus, nous pouvons savoir que l'accès à la route /admin nécessite une connexion de l'utilisateur. et les privilèges d'administrateur. 🎜🎜Maintenant, implémentons un garde-route pour le contrôle des autorisations : 🎜rrreee🎜Dans le code ci-dessus, nous contrôlons les autorisations d'accès des utilisateurs en jugeant l'attribut meta de la route. Si la connexion de l'utilisateur est requise et que l'utilisateur n'est pas connecté, accédez à la page de connexion ; si les autorisations d'administrateur sont requises et que l'utilisateur n'est pas un administrateur, accédez à la page 403 (pas de page d'autorisation sinon, l'accès est autorisé) ; 🎜🎜Résumé🎜🎜Cet article explique comment utiliser Vue Router pour implémenter des gardes de routage et un contrôle des autorisations. Grâce aux gardes d'itinéraire, nous pouvons effectuer certaines opérations avant que les utilisateurs n'accèdent aux itinéraires, telles que vérifier l'état de connexion de l'utilisateur, vérifier les autorisations des utilisateurs, etc. Grâce au routage des méta-informations (méta) et aux pré-gardes globales, nous pouvons mettre en œuvre un contrôle des autorisations simple et puissant. J'espère que cet article pourra vous aider à mieux utiliser Vue Router pour implémenter des gardes de routage et un contrôle des autorisations. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment implémenter le contrôle des autorisations et la gestion des utilisateurs dans Uniapp Comment implémenter le contrôle des autorisations et la gestion des utilisateurs dans Uniapp Oct 20, 2023 am 11:15 AM

Comment implémenter le contrôle des autorisations et la gestion des utilisateurs dans uniapp Avec le développement des applications mobiles, le contrôle des autorisations et la gestion des utilisateurs sont devenus une partie importante du développement d'applications. Dans uniapp, nous pouvons utiliser des méthodes pratiques pour implémenter ces deux fonctions et améliorer la sécurité et l'expérience utilisateur de l'application. Cet article présentera comment implémenter le contrôle des autorisations et la gestion des utilisateurs dans uniapp, et fournira quelques exemples de code spécifiques à titre de référence. 1. Contrôle des autorisations Le contrôle des autorisations fait référence à la définition de différentes autorisations de fonctionnement pour différents utilisateurs ou groupes d'utilisateurs dans une application afin de protéger l'application.

Implémentation des autorisations utilisateur et du contrôle d'accès à l'aide de PHP et SQLite Implémentation des autorisations utilisateur et du contrôle d'accès à l'aide de PHP et SQLite Jul 29, 2023 pm 02:33 PM

Implémentation des autorisations utilisateur et du contrôle d'accès à l'aide de PHP et SQLite Dans les applications Web modernes, les autorisations utilisateur et le contrôle d'accès constituent un élément très important. Avec une gestion appropriée des autorisations, vous pouvez garantir que seuls les utilisateurs autorisés peuvent accéder à des pages et des fonctions spécifiques. Dans cet article, nous apprendrons comment implémenter les autorisations utilisateur de base et le contrôle d'accès à l'aide de PHP et SQLite. Tout d'abord, nous devons créer une base de données SQLite pour stocker des informations sur les utilisateurs et leurs autorisations. Ce qui suit est la structure d'une simple table d'utilisateurs et d'une table d'autorisations

Gestion des utilisateurs et contrôle des autorisations dans Laravel : implémentation de plusieurs utilisateurs et attributions de rôles Gestion des utilisateurs et contrôle des autorisations dans Laravel : implémentation de plusieurs utilisateurs et attributions de rôles Aug 12, 2023 pm 02:57 PM

Gestion des utilisateurs et contrôle des autorisations dans Laravel : implémentation de plusieurs utilisateurs et attribution de rôles Introduction : Dans les applications Web modernes, la gestion des utilisateurs et le contrôle des autorisations sont l'une des fonctions très importantes. Laravel, en tant que framework PHP populaire, fournit des outils puissants et flexibles pour implémenter le contrôle des autorisations pour plusieurs utilisateurs et attributions de rôles. Cet article présentera comment implémenter les fonctions de gestion des utilisateurs et de contrôle des autorisations dans Laravel, et fournira des exemples de code pertinents. 1. Installation et configuration Tout d'abord, implémentez la gestion des utilisateurs dans Laravel

Comment sélectionner le mode de routage dans Vue Router ? Comment sélectionner le mode de routage dans Vue Router ? Jul 21, 2023 am 11:43 AM

VueRouter est le gestionnaire de routage officiellement fourni par Vue.js. Il peut nous aider à implémenter des fonctions de navigation de page et de routage dans les applications Vue. Lors de l'utilisation de VueRouter, nous pouvons choisir différents modes de routage en fonction des besoins réels. VueRouter propose trois modes de routage, à savoir le mode hachage, le mode historique et le mode abstrait. Ce qui suit présentera en détail les caractéristiques de ces trois modes de routage et comment choisir le mode de routage approprié. Mode de hachage (par défaut

Meilleures pratiques pour les fonctionnalités d'autorisations de Laravel : comment contrôler correctement les autorisations des utilisateurs Meilleures pratiques pour les fonctionnalités d'autorisations de Laravel : comment contrôler correctement les autorisations des utilisateurs Nov 02, 2023 pm 12:32 PM

Meilleures pratiques pour les fonctions d'autorisation de Laravel : Comment contrôler correctement les autorisations des utilisateurs nécessite des exemples de code spécifiques Introduction : Laravel est un framework PHP très puissant et populaire qui fournit de nombreuses fonctions et outils pour nous aider à développer des applications Web efficaces et sécurisées. Une fonctionnalité importante est le contrôle des autorisations, qui restreint l'accès des utilisateurs à différentes parties de l'application en fonction de leurs rôles et autorisations. Un contrôle approprié des autorisations est un élément clé de toute application Web pour protéger les données et fonctionnalités sensibles contre tout accès non autorisé.

Comment utiliser Vue Router pour le saut de routage dans Uniapp Comment utiliser Vue Router pour le saut de routage dans Uniapp Oct 18, 2023 am 08:52 AM

Comment utiliser VueRouter pour le routage des sauts dans uniapp L'utilisation de VueRouter pour le routage des sauts dans uniapp est une opération très courante. Cet article présentera en détail comment utiliser VueRouter dans le projet uniapp et fournira des exemples de code spécifiques. 1. Installer VueRouter Avant d'utiliser VueRouter, nous devons d'abord l'installer. Ouvrez la ligne de commande, entrez le répertoire racine du projet uniapp, puis exécutez la commande suivante pour installer

Comment utiliser les routes nommées dans Vue Router ? Comment utiliser les routes nommées dans Vue Router ? Jul 23, 2023 pm 05:49 PM

Comment utiliser les routes nommées dans VueRouter ? Dans Vue.js, VueRouter est un gestionnaire de routage officiellement fourni qui peut être utilisé pour créer des applications d'une seule page. VueRouter permet aux développeurs de définir des itinéraires et de les mapper à des composants spécifiques pour contrôler les sauts et la navigation entre les pages. Le routage nommé est l'une des fonctionnalités très utiles. Il nous permet de spécifier un nom dans la définition du routage, puis de passer à l'itinéraire correspondant via le nom, ce qui rend le saut de routage plus pratique.

Comment utiliser l'ACL (Access Control List) pour le contrôle des autorisations dans Zend Framework Comment utiliser l'ACL (Access Control List) pour le contrôle des autorisations dans Zend Framework Jul 29, 2023 am 09:24 AM

Comment utiliser l'ACL (AccessControlList) pour le contrôle des autorisations dans Zend Framework Introduction : Dans une application Web, le contrôle des autorisations est une fonction cruciale. Il garantit que les utilisateurs ne peuvent accéder qu'aux pages et fonctionnalités auxquelles ils sont autorisés à accéder et empêche tout accès non autorisé. Le framework Zend fournit un moyen pratique d'implémenter le contrôle des autorisations, en utilisant le composant ACL (AccessControlList). Cet article explique comment utiliser l'ACL dans Zend Framework.

See all articles