Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

231
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda