[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Henrique Miranda
Criador Henrique Miranda 26/10/2021

Olá. 

Tenho uma aplicação multi tenancy com multi da base. Essa aplicação mantém os usuários no banco de dados central e ao logar, o sistema identifica com o companhia que o usuário está vinculado e então se conecta no banco de dados da companhia respectiva. 

O problema é que para poder fazer níveis de permissões, preciso da tabela dos usuários que está no banco de dados central. Como faço para fazer esse relacionamento entre a tabela de permissões do tenant no banco de dados dele com a tabela de usuário no banco de dados central? 

 

Manager Carlos Ferreira 26/10/2021

Olá, Henrique!
Tudo bem?

Se você tiver muitos clientes e sua tabela de usuário crescer muito, pode ser um problema (dependo do tipo de banco de dados), digo, porque está centralizado registros de tenants na base principal. Mas claro, isso vai de cada caso.

Como está o controle das permissions e roles do sistema? O tenant (cliente) vai poder cadastrar ou apenas usar as configurações pré-definidas?
Porque se ele for usar as configurações pré-definidas as permissions e etc devem estar na base principal também, e quando o usuário autenticar você armazena essas permissions em uma sessão (usando a key da sessão sendo algo único do tenant)

Pegou a ideia amigo?

Carlos Ferreira
Criador Henrique Miranda 26/10/2021

Então vou fazer a separação total como no curso de multi tenant. Vou fazer a identificação da company pelo prefixo da rota. O problema maior que estou enfrentando é modificar as rotas de login, logout e registre padrão do fortify jetstream

Henrique Miranda
Manager Carlos Ferreira 26/10/2021

Se não quiser usar as rotas defaults auth/register do Laravel, você vai precisar personalizar mesmo, criar as rotas e implementar a autenticação na mão: https://laravel.com/docs/8.x/authentication#authenticating-users

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

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!