ESTRUTURA DE DADOS DUVIDA LOGIN
Em relação a analogia de rede vamos pensar assim.
Empresa A possui uma filial B e por sua vez deveriam ser a mesma rede, que por sua vez terão somente 1 usuário, sendo que não é possÃvel criar o mesmo usuário dentro da mesma rede (MUNDO PERFEITO)
Agora sim entendi o seu problema, o ideal com certeza é bloquear a criação de usuários como o mesmo nome.
Empresa A possui uma filial B e por sua vez deveriam ser a mesma rede, que por sua vez terão somente 1 usuário, sendo que não é possÃvel criar o mesmo usuário dentro da mesma rede (MUNDO PERFEITO)
Agora sim entendi o seu problema, o ideal com certeza é bloquear a criação de usuários como o mesmo nome.
Citação:Acho que a forma mais fácil e talvez eficaz, seja mesmo impedir dois usuários iguais no mesmo banco de dados. Com isso fica impossÃvel alguém acessar os dados de outro.
Aqui não tem outro remédio. Os logins devem ser excluisivos ou a dor de cabeça será enorme.
Quanto a estrutura, é até complicado de falar sem conhecer o ambiente da empresa e os procedimentos de trabalho.
Vou falar como faço aqui onde trabalho, é bem parecido com a sua situação.
Aqui eu uso um único banco para todas as empresas, independente do CNPJ delas, aqui é um grupo (ou consórcio com queiram). As tabelas de estoque, finanças, fiscal, etc são devidamente normatizadas para ter o campo id_empresa e dessa forma uma empresa não vê a outra. Porém, o empresário brasileiro gosta de economia (principalmente, funcionário), então, dessa forma, um mesmo usuário trabalha com a matriz e a filial, etc.
Os cadastros de clientes, fornecedores, produtos, etc, está compartilhado com todas as empresas.
O controle de acesso é feito a nÃvel de usuário, determinando quais funções ele tem direito ou não. E tenho um campo no perfil desse usuário que lista quais as empresas ele pode trabalhar.
Por exemplo, na tela de vendas, o operador lança a empresa e o estoque para qual ele está realizando o pedido. Aqui não uso o critério de seleciona uma empresa para trabalho pois iria burocratizar o trabalhos dos funcionários.
Caro Luis, se for do seu interesse envie um email que durante o meu expediente eu te mostro o sistema aqui em funcionamento.
Luis, vamos lá...
Tenho a seguinte situação aqui, talvez te ajude.
Servidor Único para diversas empresas(Multi-Empresa).
Através de configurações pode-se definir se todas irão compartlhar dados(Financeiro, Cadastros,Produtos). Se forem do mesmo seguimento certamente irão compartilhar maioria dos dados.(a exemplo disso Casas Bahia, Lojas CEM, ETC.....)
Cadastro Unico de Usuário(Gerenciado pelo MYSQL).
Usuário(gerenciado pelo mysql) faz login no SERVIDOR.
Seleciona e empresa desejada(que tem tabela especifica para controlar suas ações para cada empresa).
Supondo que um usuário cadastra um CLIENTE na empresa 3, este cadastro irá para a EMPRESA que irá concentrar os dados(Matriz) e ficará disponÃvel para todas as outras.
As outras empresas por intermédio de configuração(BANCOMASTER) ao abrir por exemplo o cadastro de clientes e fazer um select teria precedido na instrução sql a [Ô]SIGLA/NOME[Ô] da MATRIZ(BANCOMASTER) Ficando algo assim :
Desta forma há diversas possibilidades de vc definir o que quais empresas irá acessar.
Com relação aos usuários, deixei por conta do mysql, assim definitivamente não haverá dois joão no meu sistema.
Espero ter contribuido com algo nesta sua dúvida....
Tenho a seguinte situação aqui, talvez te ajude.
Servidor Único para diversas empresas(Multi-Empresa).
Através de configurações pode-se definir se todas irão compartlhar dados(Financeiro, Cadastros,Produtos). Se forem do mesmo seguimento certamente irão compartilhar maioria dos dados.(a exemplo disso Casas Bahia, Lojas CEM, ETC.....)
Cadastro Unico de Usuário(Gerenciado pelo MYSQL).
Usuário(gerenciado pelo mysql) faz login no SERVIDOR.
Seleciona e empresa desejada(que tem tabela especifica para controlar suas ações para cada empresa).
Supondo que um usuário cadastra um CLIENTE na empresa 3, este cadastro irá para a EMPRESA que irá concentrar os dados(Matriz) e ficará disponÃvel para todas as outras.
As outras empresas por intermédio de configuração(BANCOMASTER) ao abrir por exemplo o cadastro de clientes e fazer um select teria precedido na instrução sql a [Ô]SIGLA/NOME[Ô] da MATRIZ(BANCOMASTER) Ficando algo assim :
SELECT * FROM [Ô] & BANCOMASTER & [Ô].CLIENTES;[Ô]
.Desta forma há diversas possibilidades de vc definir o que quais empresas irá acessar.
Com relação aos usuários, deixei por conta do mysql, assim definitivamente não haverá dois joão no meu sistema.
Espero ter contribuido com algo nesta sua dúvida....
Tópico encerrado , respostas não são mais permitidas