Controle de Acesso ao Programa
Srs, estou desenvolvendo uma aplicação usando delphi7 + Firebird1.5 e os componentes DBExpress, tais como ( sqldataset, clientdataset, datasetprovider e sqlclientdataset), mas eu preciso também de implementar um controle de acesso a nível de usuário, onde desejo poder controlar os menus que alguns usuários poderão ver, controlar ações de inserção/gravação e alteração/exclusão de dados. Como sou iniciante, eu não tenho ainda a mínima idéia de como implementar esta melhoria no progrma, algum de vcs poderiam me auxiliar?
Desde já agradeço a atenção.
Abraços.
Desde já agradeço a atenção.
Abraços.
Programalista
Curtidas 0
Respostas
Thomaz_prg
26/08/2004
Bom, em uma tabela vc ria os usuarios e em outra o que ele pode ver/fazer. Exemplo da estrutura:
Tabela Usuarios
id_usuario //Chave primaria
Login
Senha
Tabela Aplicacoes
id_aplicacao //Chave Primaria
titulo_aplicacao //Titulo que aparece nos menus
Procedimento_Funcao //Referencia a funcao que ele executa
Tabela Permissoes
id_permissao //Chave primaria
id_usuario //Indica de qual usuario se trata
id_applicacao //Indica qual aplicacao esta sendo liberada
No caso de Procedimento_funcao, pode ser um valor numérico que utiliza uma actionList.
Tabela Usuarios
id_usuario //Chave primaria
Login
Senha
Tabela Aplicacoes
id_aplicacao //Chave Primaria
titulo_aplicacao //Titulo que aparece nos menus
Procedimento_Funcao //Referencia a funcao que ele executa
Tabela Permissoes
id_permissao //Chave primaria
id_usuario //Indica de qual usuario se trata
id_applicacao //Indica qual aplicacao esta sendo liberada
No caso de Procedimento_funcao, pode ser um valor numérico que utiliza uma actionList.
GOSTEI 0
Programalista
26/08/2004
Ok Thomaz, vou tentar implementar desta forma.
qq coisa entrarei novamente em contacto.
qq coisa entrarei novamente em contacto.
GOSTEI 0
Ipc$
26/08/2004
Quanto aos menús, é relativamente simples, agora quanto às tabelas, vc terá que ter:
Uma tabela de usuário/tabela com flags de pode-incluir e pode-excluir registros.
Uma tabela de usuário/tabela/campo com flags de read-only p/ alteração e se o campo vai ser visível ou não.
Crie um programa p/ dar manutenção à estas tabelas, onde só os administradores do sistema terão acesso.
Alimente as tabelas quando houver alguma restrição, ou seja, se não veio nada p/ aquele usuário, então ele terá acesso a tudo.
A partir daí, sua aplicação carrega as informações de acordo com o login e disponibiliza os dados conforme as restrições.
ps: Acho isso uma coisa muito relevante num sistema e nem todos possuem esse tipo de segurança. Vá em frente que vc não vai se arrepender.
Uma tabela de usuário/tabela com flags de pode-incluir e pode-excluir registros.
Uma tabela de usuário/tabela/campo com flags de read-only p/ alteração e se o campo vai ser visível ou não.
Crie um programa p/ dar manutenção à estas tabelas, onde só os administradores do sistema terão acesso.
Alimente as tabelas quando houver alguma restrição, ou seja, se não veio nada p/ aquele usuário, então ele terá acesso a tudo.
A partir daí, sua aplicação carrega as informações de acordo com o login e disponibiliza os dados conforme as restrições.
ps: Acho isso uma coisa muito relevante num sistema e nem todos possuem esse tipo de segurança. Vá em frente que vc não vai se arrepender.
GOSTEI 0
Dopi
26/08/2004
Lá vou eu com mais uma sugestação de OpenSource.....
Espero nao provocar polemica dessa vez.... ;-)
Segue abaixo link de projeto OpenSource, compativel com DBX, para controle de usuários...
http://usercontrol.sourceforge.net/
Espero nao provocar polemica dessa vez.... ;-)
Segue abaixo link de projeto OpenSource, compativel com DBX, para controle de usuários...
http://usercontrol.sourceforge.net/
GOSTEI 0
Ipc$
26/08/2004
Também pode ser uma solução, tudo depende da sua necessidade e urgência. Uma coisa é desenvolver, outra é estudar os componentes já prontos p/ depois alterá-los.
GOSTEI 0