Italo
A coisa pra ficar boa, redondinha, vai ser um pouco complicada… Vejamos.
A ideia é você montar o seu sistema como se ele fosse multi-empresa e cada funcionário fosse por exemplo uma empresa … nesse caso ele teria acesso aos seus respectivos clientes e tudo o mais que dele depender. Se for apenas isso a solução é muito simples, basta que você crie mais um campo no cadastro do seu cliente onde tivesse o código do funcionário que o criou e ver o detalhamento que o Pessanha citou acima.
Agora, imagine que nesta empresa tenha um gerente que tenha acesso simultâneo apenas aos clientes dos funcionários A,B e C, mas não tenha acesso aos dos funcionários D, E e F. Outro gerente que tenha acesso aos clientes de A, C e F. E daí por diante. Nesse caso a solução é mais complicada…
a) Você terá que criar um campo a mais em cada tabela que seria o Proprietário do Registro (prop_reg);
b) Criar uma tabela com os Grupos de Acesso;
c) Criar uma tabela de Perfis de Acesso;
d) Criar uma tabela de Perfis de Grupos onde você determinará quais perfis poderão acessar tais grupos;
e) Criar uma Função/Procedure no banco para verificar quem pode o quê e tenha como retorno Sim ou Nao (PermiteAcesso);
f) Todo comando select do seu sistema terá uma cláusula where que conterá a função PermiteAcesso(’[sm_global_login]’,prop_reg) = ‘Sim’.
Ficou complicado? Pois é… a ideia é -> a) cada registro tem um proprietário; b) cada usuário pode acessar esse ou aquele registro.
Se você já tiver se cadastrado no site da Associação poderá baixar o projeto do próprio site, que já vem formado desta forma. Ou então me adicione no skype (jovitomelo@hotmail.com) e eu vou lhe ajudando a fazer…
Forte abraço.