Fórum

arrow_back

Sistema Multi Tenant

Mário Araújo

05/03/2021 18:40:05

Boa Tarde,

Estou com a necessidade de desenvolver uma aplicação no conceito de SaaS Multi Tenant gostaria de saber se ja existem alguma feature para essa situação pois caso não tenha nada nesse sentido terei de customizar todos os DAO´s  formulário para que o sistema faça a filtragem dos dados na exibição e também para que no momento de persistir no banco de dados ele possa incluir o ID do Tanant  

Obrigado.

Paulo Victor Rodrigues Oliveira

09/03/2021 14:22:49

Boa tarde amigo, tudo bom?


Para uma solução de arquitetura Multi Tenant, podemos utilizar com criatividade alguns blocos do lado cliente para armazenar e manipular um tenant no Local Storage (Bloco Cliente: Adicionar item de armazenamento), esta abordagem pode ser utilizada em aplicativo mobile por exemplo, além disto também existem blocos de servidor feitos para Multi Tenant na qual podemos armazenar e manipular dados no token nossa aplicação (Bloco Servidor: Definir variável de token da requisição). Uma vez armazenado o tenant, podemos obter dados dele onde quisermos.

Mário Araújo

24/03/2021 11:07:05

Bom dia!!

Após a dica do amigo Paulo, consegui achar um solução simples e que resolveu meu problema, vou compartilhar aqui para que se mais alguém tiver a mesma dificuldade possa dar uma ajuda.

O que fiz foi o seguinte, Criei um bloco de programação do lado servidor  da seguinte forma:

Neste bloco eu pego o login do usuário que esta logando na aplicação e no cadastro dele pego o ID do empresa que ele esta vinculado(este campo inclui no cadastro de usuário para armazenar o ID da empresa),

Depois faço uma alteração no token incluindo esse ID  recebido na consulta, e faço a chamada desse bloco nos eventos do sistema na chamada "Depois de Fazer o Login"

Depois criei outro bloco para obter o token e pegar o ID que coloquei lá

Depois disso sobrescrevi todos dos meus Datasources para que nas chamadas e no salvamento dos dados eles uses esse bloco acima para obter o ID da empresa 

feito isso  cada vez que o usuário abre uma consulta ele ja trava a filtragem com o ID da empresa em também em cada tabela que ele salvar salva também o código por padrão,


se alguém tiver alguma duvida e só chamar que estou a disposição.