Compartilhamento de tecnologia

Defina algumas rotas para serem acessíveis publicamente e não exija status de login para acessá-las

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Em estruturas de aplicativos de página única (SPA), como Vue.js, os protetores de rota são um recurso muito útil que permite controlar o acesso às rotas. Vue.js usa Vue Router como gerenciador de roteamento oficial. Os guardas de roteamento são divididos principalmente em guardas globais e guardas intracomponentes.

Aqui está um exemplo de como configurar um guarda de rota para permitir que determinadas rotas sejam acessíveis ao público:

  1. Guarda frontal global: Na configuração do Vue Router, você pode usar beforeEach O método configura um front guard global para verificar se o usuário está logado e redirecionar o usuário de acordo com o status do login.
// router/index.js
import Vue from 'vue';
import Router from 'vue-router';
import Home from '../components/Home.vue';
import Dashboard from '../components/Dashboard.vue';

Vue.use(Router);

const router = new Router({
  routes: [
    {
      path: '/',
      name: 'Home',
      component: Home
    },
    {
      path: '/dashboard',
      name: 'Dashboard',
      component: Dashboard,
      meta: {
        requiresAuth: true // 标记需要认证的路由
      }
    }
    // 其他路由...
  ]
});

// 全局前置守卫
router.beforeEach((to, from, next) =