summaryrefslogtreecommitdiff
path: root/src/router
diff options
context:
space:
mode:
Diffstat (limited to 'src/router')
-rw-r--r--src/router/index.js47
1 files changed, 33 insertions, 14 deletions
diff --git a/src/router/index.js b/src/router/index.js
index 11d1a475..698aa700 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -1,28 +1,35 @@
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: "overview",
- component: () => import("@/views/Overview")
+ name: "",
+ meta: {
+ requiresAuth: true
+ },
+ component: AppLayout,
+ children: [
+ {
+ path: "",
+ component: () => import("@/views/Overview")
+ },
+ {
+ path: "/access-control/local-user-management",
+ name: "local-users",
+ component: () => import("@/views/AccessControl/LocalUserManagement")
+ }
+ ]
},
{
- path: "/access-control/local-user-management",
- name: "local-users",
- component: () => import("@/views/AccessControl/LocalUserManagement")
+ path: "/login",
+ name: "login",
+ component: () => import("@/views/Login")
}
- // {
- // path: "/about",
- // name: "about",
- // // route level code-splitting
- // // this generates a separate chunk (about.[hash].js) for this route
- // // which is lazy-loaded when the route is visited.
- // component: () =>
- // import(/* webpackChunkName: "about" */ "../views/About.vue")
- // }
];
const router = new VueRouter({
@@ -32,4 +39,16 @@ const router = new VueRouter({
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;