added (not yet working) code for login

This commit is contained in:
2019-03-14 17:13:24 +01:00
parent 18f22fdffa
commit 2cff1db5cb
17 changed files with 710 additions and 1 deletions

View File

@@ -2,10 +2,13 @@ import Vue from 'vue';
import Router from 'vue-router';
import Home from './views/Home.vue';
import NotFound from './views/NotFound.vue';
import LoginPage from './views/LoginPage.vue';
Vue.use(Router);
export default new Router({
export const router = new Router({
// export default new Router({
mode: 'history',
base: process.env.BASE_URL,
routes: [
@@ -14,6 +17,10 @@ export default new Router({
name: 'home',
component: Home,
},
{
path: '/login',
component: LoginPage,
},
{
path: '/about',
name: 'about',
@@ -29,3 +36,16 @@ export default new Router({
},
],
});
router.beforeEach((to, from, next) => {
// redirect to login page if not logged in and trying to access a restricted page
const publicPages = ['/login', '/register'];
const authRequired = !publicPages.includes(to.path);
const loggedIn = localStorage.getItem('user');
if (authRequired && !loggedIn) {
return next('/login');
}
});
export default router;