Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

230
Views
Redirección basada en el tipo de usuario - enrutador vue

Soy un principiante en vue y necesito su ayuda, por favor. Estoy creando una aplicación donde el inicio de sesión está conectado a firebase. Me gustaría usar vue-router para redirigir a un usuario a una página en particular. Cuando una persona inicia sesión cuyo user.role = "admin" debe ser redirigido a "/admin". Todas las demás personas registradas en "/" y las personas no registradas son redirigidas a la página "/login". Aquí hay partes de mi código:

principal.js

 router.beforeEach((to, from, next) => { const currentUser = firebase.auth().currentUser; const requiresAuth = to.meta.requiresAuth; if (requiresAuth && !currentUser){ next({ name: 'Login' })} else if (!requiresAuth && currentUser) {next({name: 'Dashboard'}), console.log(currentUser)} else next(); });

authStore.js

 const actions = { logIn({ dispatch,commit,rootGetters }){ firebase.auth().onAuthStateChanged(async (user) => { if (user) { commit('SET_USER', user); var uid = user.uid; db.collection('users').doc(uid) .get() .then((doc)=>{ commit('gutscheinStore/SET_USER_ROLE', doc.data().role, {root:true}) commit('gutscheinStore/SET_USER_STANDORT_ID', doc.data().standortID, {root: true}) commit('gutscheinStore/SET_USER_BETREIBER_ID', doc.data().betreiberID, {root: true}) //console.log(rootGetters['gutscheinStore/getUserRole']) }) router.push('/') } else { console.log("No entry without login") } }) },

index.js en el enrutador

 const routes = [ { path: '/', name: 'Dashboard', component: Dashboard, meta: { requiresAuth: true, } }, { path: '/login', name: 'Login', component: Login }, { path: '/admin', name:'AdminDashboard', component: AdminDashboard, meta: { requiresAuth: true, }
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

En authStore.js donde actualmente tiene la línea router.push("/") :

 const actions = { ... // snipped for clarity router.push('/') } else { console.log("No entry without login") } }) },

En su lugar, podría cambiar esto de la siguiente manera:

 const actions = { ... // snipped for clarity if(user.role === "admin") { router.push("/admin") } else { router.push("/") } } else { // router.push("/login") router.go() } }) },
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!