+
+
+
Computadora
@@ -58,17 +59,22 @@
export default {
data() {
- return {}
+ return {
+ user: null
+ }
},
methods: {
- logout: function() {
- localStorage.removeItem('token')
- localStorage.removeItem('idAdmin')
- localStorage.removeItem('isAdmin')
-
- this.$router.push('/login')
+ setCurrentUser(){
+ return window.localStorage.user;
},
- },
+ logout: function() {
+ localStorage.clear();
+ this.$router.replace('/login')
+ },
+ isAdmin: function() {
+ return JSON.parse(localStorage.getItem('isAdmin'));
+ }
+ }
}
diff --git a/src/routes.js b/src/routes.js
index 1f5b89e..e4ff3e8 100644
--- a/src/routes.js
+++ b/src/routes.js
@@ -7,6 +7,10 @@ import AddEquip from './views/AddEquip.vue'
import UpdateEquip from './views/UpdateEquip.vue'
const routes = [{
+ path: '*',
+ redirect: 'login'
+ },
+ {
path: '/',
component: Login,
name: 'start'
@@ -15,25 +19,47 @@ const routes = [{
path: '/login',
component: Login,
name: 'login',
- meta: {isPublic: true}
+ meta: { isPublic: true },
},
{
path: '/user',
component: User,
name: 'user',
- meta: {isPublic:true}
+ meta: { isPublic: true },
+ beforeEnter: (to, from, next) => {
+ if (isAuthenticated())
+ next(true);
+ else
+ next('/login');
+ }
},
{
path: '/addEquip',
component: AddEquip,
name: 'addEquip',
- meta: {perm:true}
+ meta: { perm: true },
+ beforeEnter: (to, from, next) => {
+ if (!isAuthenticated())
+ next('/login');
+ else if (isAuthenticated() && !isAdmin())
+ next(false)
+ else
+ next(true);
+ }
},
{
path: '/updateEquip',
component: UpdateEquip,
name: 'updateEquip',
- meta: {perm:true}
+ meta: { perm: true },
+ beforeEnter: (to, from, next) => {
+ if (!isAuthenticated())
+ next('/login');
+ else if (isAuthenticated() && !isAdmin())
+ next(false)
+ else
+ next(true);
+ }
},
]
@@ -44,29 +70,30 @@ Vue.use(VueRouter)
const router = new VueRouter({ routes })
const isAuthenticated = function() {
- return window.localStorage.token ? true : false
+ return !!window.localStorage.token
}
const isAdmin = function() {
- return window.localStorage.isAdmin
+ return JSON.parse(window.localStorage.isAdmin)
}
//const isAdmon = window.localStorage.getItem('rol') ? true : false
-router.beforeEach((to, from, next) => {
-
+/*router.beforeEach((to, from, next) => {
+
if (to.path !== '/login' && !isAuthenticated()) {
// eslint-disable-next-line no-console
//console.log("Entrando");
- return next({name: 'login'})
+ return next({ name: 'login' })
}
// eslint-disable-next-line no-console
- if (isAuthenticated() && isAdmin() === false && to.path !== '/user') {
- return next({name: 'user'})
- }
+
+ if (isAuthenticated() && isAdmin() === false && to.path !== '/user') {
+ return next({ name: 'user' })
+ }
return next()
-})
+})*/
-export default router
\ No newline at end of file
+export default router;
\ No newline at end of file
diff --git a/src/views/Login.vue b/src/views/Login.vue
index c8efaf3..e1f4be6 100644
--- a/src/views/Login.vue
+++ b/src/views/Login.vue
@@ -11,7 +11,7 @@
Usuario o contraseña invalidos