Wesley Kovalski
Criador Wesley Kovalski 02/08/2022

Em um sistema que esteja sendo usado Laravel 9 e Vue 2. Como ficaria para redirecionar o usuário para uma rota específica?

Por exemplo, lá no controller eu colocar:

if (Gate::denies('usuarios')) {
return redirecionar....
}
Criador Wesley Kovalski 02/08/2022

Aqui na plataforma tem algum conteúdo que mostre como tratar essas permissões no Vue 2 ?

Wesley Kovalski
Manager Carlos Ferreira 02/08/2022

Olá, Wesley!
Tudo bem?

As regras de ACL devem ficar no backend, curso rápido: https://academy.especializati.com.br/curso/laravel-microservices-autenticacao-autorizacao-acl

O seu frontend deve exibir/ocultar os recursos de acordo com as permissões do usuário.

Perceba que neste projeto do curso que enviei ele retorna todas as permissões do usuário, agora no frontend, basta validar se o usuário tem a permissão, e não tiver exibe/oculta o registro de acordo com as permissões.

# html
<a href="#" v-if="can('users')">Usuários</a>

# JS
data() {
    return {
        permissionsUser: [...],
    }
},
methods: {
    can (permissionName) {
        return this.permissionsUser.includes(permissionName)
    }
}

Carlos Ferreira
Criador Wesley Kovalski 02/08/2022

Perfeito, fiz isso mesmo, e também verifico o acesso as rotas assim:

 

beforeEnter: (to, from, next) => {
if (!store.state.auth.listMyPermissions.data.includes('usuarios')) {
return;
}

next();
}
Wesley Kovalski
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!