打开Vue路线链接时跳过登录屏幕

时间:2019-05-27 06:02:28

标签: laravel vue.js

我在我的应用程序中使用laravel和vue js。当我使用laravel auth打开时,所有vue路线都要求登录。我想创建一些无需用户登录即可访问的路由。换句话说,我也希望来宾用户也可以访问某些路由。但是目前,所有路由都要求对用户进行身份验证。这是我的路线

const routes = [
    { path: '/dashboard_admin', component:  require('./components/dashboard.vue').default},
    { path: '/ongoing_events_admin', component:  require('./components/events.vue').default } ,
    { path: '/courses_admin', component:  require('./components/courses.vue').default},
    { path: '/front_images_admin', component:  require('./components/front_images.vue').default},
    { path: '/news_admin', component:  require('./components/news.vue').default},


    { path: '/main', component:  require('./components/main_view/index_view_general.vue') ,
    name: 'index',
    props: true ,
    beforeEnter:DontrequireLogin
    },


    //general vue

  // { path: '/', component:  require('./components/main_view/index_view_general.vue').default},

  ]


  const router = new VueRouter({
    mode: 'history',
    routes // short for `routes: routes`
  })



const app = new Vue({
    el: '#app',
    router
});

这些是我的路线。我希望其中的一些路由也可以由来宾用户访问,但目前所有路由都要求用户登录。

1 个答案:

答案 0 :(得分:0)

因此,您需要执行此meta的操作,有关此内容的更多信息,请阅读其官方文档Route Meta

让我来解释一下meta的作用。

在meta中定义一个bolean对象,该对象指示,此路由适用于已验证的用户或来宾用户。让我们看下面的例子。

我拥有经过身份验证的路由,仅适用于经过身份验证的用户。

{path: '/account-setting',component:accountSetting,meta:{auth:true}},

所以我在meta中传递了auth对象,并在route.beforeach中决定了如何处理此路由。

与正常路线相同

{path: '/about',component:about}

在此,我不提供任何meta,表示对所有用户而言。

阅读文档以了解如何使用它。