Maison interface Web Voir.js Comment implémenter l'authentification et l'autorisation des utilisateurs dans le projet Vue

Comment implémenter l'authentification et l'autorisation des utilisateurs dans le projet Vue

Oct 15, 2023 am 09:09 AM
认证(authentication) 授权(authorization) vue-router(vue路由)

Comment implémenter lauthentification et lautorisation des utilisateurs dans le projet Vue

Comment implémenter l'authentification et l'autorisation des utilisateurs dans le projet Vue

Ces dernières années, le framework front-end Vue est progressivement devenu le choix grand public pour le développement Web. Lors du développement d'un projet Vue, l'authentification et l'autorisation des utilisateurs sont des fonctions indispensables. Cet article présentera en détail comment implémenter l'authentification et l'autorisation des utilisateurs dans le projet Vue du point de vue de la mise en œuvre technique, et fournira des exemples de code spécifiques.

1. Authentification de l'utilisateur

L'authentification de l'utilisateur fait référence au processus de vérification de l'identité de l'utilisateur pour garantir que l'utilisateur dispose de l'autorisation légale d'accéder au système. Les méthodes courantes d'authentification des utilisateurs incluent la vérification du nom d'utilisateur et du mot de passe, la connexion par un tiers, etc. Ce qui suit utilise la vérification du nom d'utilisateur et du mot de passe comme exemple pour présenter la mise en œuvre de l'authentification des utilisateurs dans le projet Vue.

  1. Créer le composant de page de connexion

Dans le projet Vue, vous devez d'abord créer le composant de page de connexion. Ce composant contient des zones de saisie pour le nom d'utilisateur et le mot de passe ainsi qu'un bouton de connexion. Lorsque l'utilisateur clique sur le bouton de connexion, l'authentification est effectuée en appelant l'API backend.

L'exemple de code est le suivant :

<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>
Copier après la connexion
  1. Vérifiez le nom d'utilisateur et le mot de passe

Dans la méthode de connexion, appelez l'API backend pour vérifier l'exactitude du nom d'utilisateur et du mot de passe. Si la vérification réussit, les informations utilisateur peuvent être enregistrées dans le stockage local ou dans le stockage de session pour faciliter les accès ultérieurs et le contrôle des autorisations.

L'exemple de code est le suivant :

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);
      });
  },
},
Copier après la connexion
  1. Stratégie d'authentification

Après l'authentification de l'utilisateur, l'authentification est généralement requise dans chaque page nécessitant une autorisation. Vous pouvez déterminer si l'utilisateur est autorisé à accéder à la page en vérifiant les informations utilisateur dans le stockage local ou dans le stockage de session.

L'exemple de code est le suivant :

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

2. Autorisation de l'utilisateur

L'autorisation de l'utilisateur fait référence à la détermination des droits d'accès de l'utilisateur aux ressources du système. Dans le projet Vue, la gestion des autorisations des utilisateurs peut être réalisée via le mécanisme de garde de routage. Ce qui suit utilise les gardes de routage comme exemple pour présenter l'implémentation de l'autorisation utilisateur dans le projet Vue.

  1. Définissez la table de routage

Dans le projet Vue, définissez la table de routage, y compris les pages qui nécessitent un contrôle d'autorisation.

L'exemple de code est le suivant :

const routes = [
  {
    path: '/home',
    component: Home,
    // 需要进行权限控制的页面,在路由元信息中定义所需的角色
    meta: { requiresAuth: true, roles: ['admin', 'user'] },
  },
  // 其他路由...
];
Copier après la connexion
  1. Effectuer l'autorisation dans le garde de routage

Utilisez le garde de navigation de Vue avantEach pour faire un jugement d'autorisation avant le saut de routage. Déterminez si l'utilisateur a l'autorisation d'accéder à la page en fonction des informations de rôle définies dans les informations utilisateur et les méta-informations de routage.

L'exemple de code est le suivant :

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();
  }
});
Copier après la connexion

Grâce aux exemples de code ci-dessus, nous pouvons implémenter des fonctions d'authentification et d'autorisation des utilisateurs dans le projet Vue. L'authentification de l'utilisateur garantit l'identité juridique de l'utilisateur en vérifiant le nom d'utilisateur, le mot de passe et d'autres informations. L'autorisation de l'utilisateur utilise le mécanisme de garde d'itinéraire pour déterminer si l'utilisateur a le droit d'accéder à la page avant le saut d'itinéraire. La mise en œuvre de ces fonctions peut nous aider à construire des projets Vue sûrs et fiables.

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)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

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 configurer les crochets de cycle de vie du composant dans Vue Comment configurer les crochets de cycle de vie du composant dans Vue Mar 04, 2025 pm 03:29 PM

Cet article clarifie le rôle de la valeur par défaut de l'exportation dans les composants Vue.js, soulignant qu'il est uniquement pour l'exportation, et non sur la configuration des crochets de cycle de vie. Les crochets de cycle de vie sont définis comme des méthodes dans l'objet Options du composant, leur fonctionnalité Un

Comment configurer la montre du composant dans Vue Export Default Comment configurer la montre du composant dans Vue Export Default Mar 04, 2025 pm 03:30 PM

Cet article clarifie les fonctionnalités de la montre de composante Vue.js lors de l'utilisation de l'exportation par défaut. Il met l'accent sur l'utilisation efficace de la montre grâce à l'observation spécifique à la propriété, à une utilisation judicieuse des options profondes et immédiates et à des fonctions de gestionnaire optimisées. Meilleures pratiques

Qu'est-ce que Vuex et comment l'utiliser pour la gestion de l'État dans les applications VUE? Qu'est-ce que Vuex et comment l'utiliser pour la gestion de l'État dans les applications VUE? Mar 11, 2025 pm 07:23 PM

Cet article explique Vuex, une bibliothèque de gestion de l'État pour Vue.js. Il détaille les concepts de base (état, getters, mutations, actions) et démontre l'utilisation, en mettant l'accent sur ses avantages pour les projets plus importants sur des alternatives plus simples. Débogage et structuri

Comment créer et utiliser des plugins personnalisés dans vue.js? Comment créer et utiliser des plugins personnalisés dans vue.js? Mar 14, 2025 pm 07:07 PM

L'article discute de la création et de l'utilisation des plugins Vue.js personnalisés, y compris les meilleures pratiques de développement, d'intégration et de maintenance.

Quelles sont les principales caractéristiques de Vue.js (architecture basée sur les composants, DOM virtuel, liaison réactive des données)? Quelles sont les principales caractéristiques de Vue.js (architecture basée sur les composants, DOM virtuel, liaison réactive des données)? Mar 14, 2025 pm 07:05 PM

Vue.js améliore le développement Web avec son architecture basée sur des composants, son DOM virtuel pour les performances et la liaison des données réactives pour les mises à jour de l'interface utilisateur en temps réel.

Comment configurer VUE CLI pour utiliser différentes cibles de construction (développement, production)? Comment configurer VUE CLI pour utiliser différentes cibles de construction (développement, production)? Mar 18, 2025 pm 12:34 PM

L'article explique comment configurer VUE CLI pour différentes cibles de build, commutation des environnements, optimiser les versions de production et assurer des cartes source dans le développement du débogage.

Comment implémenter des techniques de routage avancées avec le routeur VUE (routes dynamiques, routes imbriquées, gardes de route)? Comment implémenter des techniques de routage avancées avec le routeur VUE (routes dynamiques, routes imbriquées, gardes de route)? Mar 11, 2025 pm 07:22 PM

Cet article explore les techniques avancées du routeur Vue. Il couvre le routage dynamique (utilisant des paramètres), les routes imbriquées pour la navigation hiérarchique et les gardes d'itinéraire pour contrôler l'accès et la récupération des données. Meilleures pratiques pour gérer la route complexe confr

Comment utiliser Vue avec Docker pour le déploiement conteneurisé? Comment utiliser Vue avec Docker pour le déploiement conteneurisé? Mar 14, 2025 pm 07:00 PM

L'article discute de l'utilisation de Vue avec Docker pour le déploiement, en se concentrant sur la configuration, l'optimisation, la gestion et la surveillance des performances des applications VUE dans les conteneurs.

See all articles