mixin role and config url

This commit is contained in:
saeid_01
2019-04-24 10:43:43 +04:30
parent d23c5f134b
commit df660dd7d4
24 changed files with 3430 additions and 3360 deletions
+9 -2
View File
@@ -8,7 +8,7 @@
// Lib imports
import Vue from 'vue'
import VueAnalytics from 'vue-analytics'
// import VueAnalytics from 'vue-analytics'
import Router from 'vue-router'
import Meta from 'vue-meta'
import { TokenService } from '@/services'
@@ -52,10 +52,12 @@ const router = new Router({
Vue.use(Meta)
router.beforeEach((to, from, next) => {
const isPublic = to.matched.some(record => record.meta.public);
const onlyWhenLoggedOut = to.matched.some(record => record.meta.onlyWhenLoggedOut);
const loggedIn = !!TokenService.getToken();
const roles = to.matched.some(record => record.meta.roles);
if (!isPublic && !loggedIn) {
return next({
path:'/login',
@@ -64,10 +66,15 @@ router.beforeEach((to, from, next) => {
}
// Do not allow user to visit login page or register page if they are logged in
if (loggedIn && onlyWhenLoggedOut) {
if (loggedIn && onlyWhenLoggedOut && policy) {
return next('/')
}
// Do not allow user to visit Pages then not access roles
// if (roles && !$hasRole(roles)) {
// return next('/')
// }
next();
});