[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
AlzClar
Criador AlzClar 07/12/2020

Bom dia!

Na aula 05 Global Scope Tenant no laravel, pensei: já havia sido criada a tabela tenant e o uuid...

Eu estou seguindo a agência de turismo e gostaria de usar o global scope na situação de cadastrar um aeroporto ou companhia aérea (no meu projeto, é um cadastro de empresa seguido de cadastro de reclamações da empresa).

EU não segui o curso multi tenant, então não tenho o Tenant...

Ou eu crio o Tenant ou eu uso outra tabela existente (tipo plano ou reclamações) para faer registro de id como se fizesse o registro do id do tenant...

Quero fazer isso para não permitir que outro usuário edite ou delete o que não for dele mesmo...

Abç

Manager Carlos Ferreira 07/12/2020

Olá, tudo bem?

Para evitar que o usuário edite/delete um registro que não é dele, precisa ter alguma informação que liga o usuário ao registro.

O registro pode ter por exemplo um user_id

Assim quando for editar ou deletar basta criar um authorization para resolver o caso:
// declarar o authorization
Gate::define('owner-register', function ($user, $register) {
    return $user->id === $post->user_id;
});

// Usar
if (Gate::denies('owner-register', $register)) {
    return redirect()
                ->back()
                ->with('message', 'Sem autorização para essa operação');
}

Carlos Ferreira
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!