Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

93
Vistas
Al actualizar página con 2 sesiones al mismo tiempo, se repiten los datos

Tengo una aplicación vue.js a la que se accede mediante un nombre de usuario y una contraseña.

Para cada perfil de usuario se presenta un tipo de menú diferente según sea ADMINISTRADOR o USUARIO.

Tengo un problema que cuando 2 usuarios actualizan la página (f5) al mismo tiempo, el perfil del usuario se repite al otro. Ejemplo

El usuario 1 contiene en su vista:

  • Tablero
  • Ajustes
  • Pagos

El usuario 2 contiene en su vista:

  • Pagos

Cuando se presiona F5 al mismo tiempo en las páginas, el usuario 1 obtiene el mismo menú que el usuario 2.

Para configurar el menú y separar las restricciones, utilicé el método Created() del propio ciclo de vida de vue. Pero no sé si era la mejor manera de hacer esto.

A continuación se muestra el código que carga la información de la página, y también el punto donde valido las restricciones, si es ADMIN muestra un tipo de vista y si es USUARIO muestra otro tipo:

 async created() { email = ''; user = null; restriction = null; await axios.get('/session').then(response => { email = response.data.currentUser; console.log('email', email); }, response => { (err) => console.log(err) }); await axios.get('/restriction').then(response => { restriction = response.data; }, response => { (err) => console.log(err) }); await axios.get(`/user/${email}`).then(response => { user = response.data; this.currentUserObj = response.data; }, response => { (err) => console.log(err) }); await axios.get("/project").then(response => { this.projectListChart = response.data; }); this.functions_ids.forEach( function (functions) { restriction.forEach( function (restriction) { if (restriction.feature_id == functions.id) { if ('ROLE_ADMIN' == user.systemRole) { functions.show = true; } else if (restriction.profile_nme == user.data.projectRole || restriction.profile_nme == "Usuário") { functions.show = false; } } } ); } ); app.dashboardProjectChart(); app.dashboardPendingTasksChart(); app.loadDashboardCalendar(); app.billType(); },

¿Alguien puede ayudarme en lo que puedo hacer para ajustar esto?

En el backend la información se está separando correctamente, porque imprimí la sesión y los datos del usuario y son correctos.

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda