|  | import Vue from 'vue'; | 
|  | import VueRouter from 'vue-router'; | 
|  | import store from '../store/index'; | 
|  | import AppLayout from '../layouts/AppLayout.vue'; | 
|  |  | 
|  | Vue.use(VueRouter); | 
|  |  | 
|  | const routes = [ | 
|  | { | 
|  | path: '/', | 
|  | name: '', | 
|  | meta: { | 
|  | requiresAuth: true | 
|  | }, | 
|  | component: AppLayout, | 
|  | children: [ | 
|  | { | 
|  | path: '', | 
|  | component: () => import('@/views/Overview'), | 
|  | meta: { | 
|  | title: 'Overview' | 
|  | } | 
|  | }, | 
|  | { | 
|  | path: '/access-control/local-user-management', | 
|  | name: 'local-users', | 
|  | component: () => import('@/views/AccessControl/LocalUserManagement'), | 
|  | meta: { | 
|  | title: 'Local user management' | 
|  | } | 
|  | }, | 
|  | { | 
|  | path: '/unauthorized', | 
|  | name: 'unauthorized', | 
|  | component: () => import('@/views/Unauthorized'), | 
|  | meta: { | 
|  | title: 'Unauthorized' | 
|  | } | 
|  | } | 
|  | ] | 
|  | }, | 
|  | { | 
|  | path: '/login', | 
|  | name: 'login', | 
|  | component: () => import('@/views/Login'), | 
|  | meta: { | 
|  | title: 'Login' | 
|  | } | 
|  | } | 
|  | ]; | 
|  |  | 
|  | const router = new VueRouter({ | 
|  | base: process.env.BASE_URL, | 
|  | routes, | 
|  | linkExactActiveClass: 'nav-link--current' | 
|  | }); | 
|  |  | 
|  | router.beforeEach((to, from, next) => { | 
|  | if (to.matched.some(record => record.meta.requiresAuth)) { | 
|  | if (store.getters['authentication/isLoggedIn']) { | 
|  | next(); | 
|  | return; | 
|  | } | 
|  | next('/login'); | 
|  | } else { | 
|  | next(); | 
|  | } | 
|  | }); | 
|  |  | 
|  | export default router; |