Usuário com acesso irrestrito no subdomínio master
[Concluído]
Primeiro quero parabeniza-lo pelo curso, já está me ajudando em alguns projetos.
Carlos, na sua opinião, qual seria a forma mais prática e elegante de implementar um usuário com acesso irrestrito, isto é, com possibilidade de visualizar todas os dados de todos os tenants a partir do subdomínio master.
Desde já agradeço.
Olá, Amaury!
Tudo bem?
Obrigado pelo feedback, fico feliz saber que o curso está te ajudando! :)
Existem N estratégias que podem ser adotadas, uma delas seria por exemplo definir algo que identifique que esse usuário é super (uma coluna por exemplo admin=true), e onde aplica o escopo global só aplicar caso o usuário que esteja acessando não seja esse super. Assim quando acessar o sistema logado com esse usuário será possível visualizar os dados de qualquer tenant independente do domínio.
Pegou a ideia amigo? Assim te atende?
Sim Carlos, com certeza, o sistema já possui ACL inclusive, mas minha primeira ideia foi garantir a todos os usuarios pertencentes o tenant master ter acesso a todos os dados dos outros tenants.
Entendi.
Nesse caso você pode verificar qual tenant_id do usuário (verificar se é o master: tenant_id==1), caso for não aplica o escopo global.
Não aplicat o escopo global significa uma verificação que venha antes do TenantMiddleware, correto? Mais uma vez obrigado!
Não necessariamente, pode aplicar assim, veja se funciona:
Na classe TenantTrait:
if (!auth()->user()->isAdmin()) {
// No model User precisa ter o método isAdmin
// Só aplicar este escopo caso o usuário não seja um master
static::addGlobalScope(new TenantScope);
}
Pegou a ideia amigo?
Peguei sim Carlos, mto obrigado!
Gostei de ideia, bem legal.
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!