Lançado Adianti Framework 7.6!
Clique aqui para saber mais
MultiTenancy Boa tarde pessoal, Estou migrando um software de um outro framework para o Adianti, no entanto me surgiu uma grande dúvida. Já li todos os posts a respeitio mas não ficou bem claro. É o Seguinte: Supomos que eu tenha 10 clientes. Cada um destes possui uma base de dados. Todas estas bases estão hospedadas num único servidor. Criei os forms de cadastros e cada cliente vai liberar o acesso ...
FG
MultiTenancy  
Boa tarde pessoal,

Estou migrando um software de um outro framework para o Adianti, no entanto me surgiu uma grande dúvida. Já li todos os posts a respeitio mas não ficou bem claro. É o Seguinte:
Supomos que eu tenha 10 clientes. Cada um destes possui uma base de dados. Todas estas bases estão hospedadas num único servidor. Criei os forms de cadastros e cada cliente vai liberar o acesso aos seus usuários, ou seja, cada cliente tem um admin para fazer isso.
Como faço para não correr o risco de um admin dar acesso a uma base de dados de outro cliente?

Obrigado.

Curso completo Meu Negócio Pronto
Use para si, ou transforme em um negócio: Inclui aulas e códigos-fontes
Gestor de conteúdo (SITE) + Loja Virtual (E-Commerce) + Emissor de Notas para infoprodutos


Meu negócio pronto Quero me inscrever agora!

Comentários (13)


MR

Boa tarde, para cada cliente tenho um banco do sistema e um banco das permissões, tenho uma tabela de controle de Usuário separada, onde identifico em qual empresa esta o usuário quando o mesmo faz o login.
FG

Olá Marcos,

O banco seria o permission?
E quando seu cliente quer cadastrar um novo usuário e dar permissões, você quem faz?

Obrigado
MR

No cadastro do usuário, automaticamente é realizado o cadastro na tabela de controle, essa tabela é para vincular o código da empresa ao login do usuário.
FG

Sim. Isto eu compreendi (unidade vinculada ao respectivo banco). Mas a perguna acima: E quando seu cliente quer cadastrar um novo usuário e dar permissões, você quem faz?

Obrigado.
MR

Isso o cadastro de usuário e permissões, não ficam disponíveis para usuários, somente para nós.
FG

Esclarecido. Muito obrigado Marcos!

Se alguém faz de outra forma e queira compartilhar, agradeço.

FG

Vou sugerir como melhoria nas próximas versões. Penso que isto vai na contramão do "online", "web" ou "mobile". Um cliente não pode ficar dependendo deste tipo de serviço de um fornecedor de software.
NR

Você está tratando cada cliente como uma unidade? Para cada unidade é possível definir uma base de dados específica, que fica salva na sessão após o login.
FG

Cada cliente como uma base de dados. Unidades seriam matriz e filiais.
NR

"Unidades seriam matriz e filiais"
Isso não é uma regra, depende da utilização. A questão é que a estrutura atual das unidades permite que se definam bancos diferentes para cada uma, por isso entendo que seria uma possível solução.
FG

Sim. Seria uma possível solução.

Obrigado pela contribuição.
MR

Não deixei disponível para os usuários por opção minha, tenho um controle de cobrança por usuário.
JC

Nataniel, tema complexo, a questão matrizes e filiais, haja visto que uma estrutura a titulo de exemplo o Ministério da Educação vamos considera lo que ele é o topo da cadeia, e precisa de todas as informações das Secretarias de Governo dos Estados, e o Estados por sua vez tem as suas Coordenadorias Regionais de ensino que receberão informações das Unidades Escolares.
neste cenário :
Escola - preenche dados para atender Coordenadoria Regional do Estado que ela pertence.
Coordenadoria Regional - tem que obter todos os dados das escolas pertencentes a ela.
Secretaria de Ensino do Estado - obter todas as informações das Coordenadorias regionais
Ministério da Educação - Abrange todas as informações de forma global.
Qual seria a estrutura correta para cadenciar este exemplo?