Controle de Usuários com Perfil de Acesso
04/04/2013
0
Estou tentando montar um Controle de Acesso com Perfil de Usuário. Já tenho o TreeView com os items do Menu preenchido. Falta agora montar as tabelas para gravar. Estava pensando assim:
Tabela Usuários
Cod_Usuario - Auto
Nome_Usuario – VarChar
Login_Usuario – VarChar
Cod_Perfil – Integer
Tabela Perfil
Codigo_Perfil – Auto
Descricao_Perfil – VarChar
Tabela Acessos
Codigo_Acesso – Auto
Acessos - VarChar
É isso. Não sei se está bem definida. Podem opinar e dar sugestões. Estou com dúvidas na Tabela Acessos e Perfil, que seriam as que dariam Acesso ao Usuário de acordo com o Perfil. Não sei se coloco na Tabela Perfil o Codigo_Acesso e na Tabela Acessos o Codigo_Perfil. Aí gravaria nessas tabelas o Usuário seu Perfil e os Acessos.
Poderiam me dar uma ajuda?
Frederico Brigatte***
Posts
04/04/2013
Jair Dubik
Tenho duas tabelas Usuário e Grupo(no seu caso deve ser o perfil)
A sintaxe do create é para base MySQL por isso ajuste como precisar.
CREATE TABLE `usuario` (
`us_id` int(4) unsigned NOT NULL auto_increment,
`us_ativo` int(1) unsigned NOT NULL default '1',
`Us_Nome` varchar(200) NOT NULL,
`Us_Login` varchar(20) NOT NULL,
`Us_Senha` varchar(20) NOT NULL,
`Us_Profissao` varchar(100) NOT NULL,
`Us_Obs` varchar(200) NOT NULL,
`us_horaIni` time NOT NULL,
`us_horaFim` time NOT NULL,
`us_dataSenha` date NOT NULL,
`us_CPF` varchar(14) NOT NULL,
`us_supervisor` int(1) unsigned NOT NULL,
PRIMARY KEY (`us_id`),
UNIQUE KEY `idx_u_nome` (`Us_Nome`),
UNIQUE KEY `idx_u_login` (`Us_Login`),
UNIQUE KEY `idx_idToken` (`us_idToken`),
KEY `idx_dataSenha` (`us_dataSenha`),
);
CREATE TABLE `usuario_grupo` (
`gru_usuario` int(4) unsigned NOT NULL,
`gru_grupo` int(4) unsigned NOT NULL,
PRIMARY KEY (`gru_usuario`,`gru_grupo`),
UNIQUE KEY `gru_u_grupoUsuario` (`gru_grupo`,`gru_usuario`),
UNIQUE KEY `gru_u_usuarioGrupo` (`gru_usuario`,`gru_grupo`),
KEY `cgru_Usuario` (`gru_usuario`),
CONSTRAINT `cgru_grupo` FOREIGN KEY (`gru_grupo`) REFERENCES `grupo` (`gru_id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT `cgru_Usuario` FOREIGN KEY (`gru_usuario`) REFERENCES `usuario` (`us_id`) ON DELETE NO ACTION ON UPDATE NO ACTION
);
Outra dica/lembrete é você criar uma tabela Acesso/Controle/Tela aonde você irá setar as permissões das telas que o usuário acessar.
Exemplo
CREATE TABLE controle (
con_id,
con_grupo int,
con_restricao int,
con_Tela varchar(100),
con_DescricaoTela varchar,
con_Controle varchar,
con_DescricaoControle varchar, etc, etc, etc,
Boa sorte.
(Não deixe de pegar vários exemplos, analisar, analisar, rever e só então implementar. Ficar refazendo depois gera perca de tempo e as vezes acaba dando inconsistência no gerenciamento).
04/04/2013
Frederico Brigatte***
Meu email é frederico.brigatte@gmail.com e MSN é frederico.brigatte@itelefonica.com.br
Ficaria muuuuuuuito agradecido se me ajudar a montar. Estou empacado nisso faz um tempão.
04/04/2013
Vanderson Freitas
Bom amigo, eu acho iteressante você ter todas as rotinas do seu sistema no BD.
Ex: Tipo a tela Cadastro de Cliente (Ver Tela, Incluir, Alterar, etc..),tudo o que tiver
que ser controlado no seu sistema é colocado no BD, junto com a Ação ou o Nome do Controle.
Ação de ver a tela Cadastro de Cliente (Ver Frm_CadCliente).
Controle do Botão incluir (Btn_Incluir).
Ai você verifica na hora que o cara clicar no (menu, botão, etc..) para chamar a tela de cliente,
verifica se ele tem esse direito, se não tem nem abre a tela, ou abre em modo de leitura ai é as
opções que o seu sistema vai ter.
No seu treewiewm que você falou, ai na hora que libera uma rotina para o usuario,
você vai estar incluindo no seu Bd na tabela rotinas do usuario o código daquela rotina.
Não sei se sube me explicar, mas se achar interessante você pode dar uma olhada
em um Exemplo Completo que tem isso e muito mais em (http://www.4shared.com/rar/b1RZNUes/Gerenciamento_de_Contas.html)
O Bd neste caso é o firebird 2.1, más está tudo documentado vale a pena dar uma olhada.
04/04/2013
Frederico Brigatte***
Como que baixo o exemplo desse site: http://www.4shared.com/rar/b1RZNUes/Gerenciamento_de_Contas.html ta pedindo senha.
04/04/2013
Frederico Brigatte***
Não tenho conta no http://www.4shared.com/rar/b1RZNUes/Gerenciamento_de_Contas.html teria como mandar pra mim por email:
frederico.brigatte@gmail.com
To precisando muito de uma ajuda.
04/04/2013
Frederico Brigatte***
Como que funciona o 4shared? Como baixo esse exemplo?
04/04/2013
Jair Dubik
Enviei um e-mail com endereço onde existem vários sistemas completos prontos.
Sucesso.
04/04/2013
Frederico Brigatte***
04/04/2013
Frederico Brigatte***
Como baixo o Gerenciamento de Contas.rar la no site? Preciso fazer cadastro? É grátis? Como funciona?
04/04/2013
Vanderson Freitas
Se eu não me engano é so informar um email e um endereçõ valido no cadastro,
não sei ao certo porque sou cadastrado faz tempo lá.
Mas não da para enviar por email porque tem 8Mb é um sistema completo pela minha
internet aqui vai fica muito dificil.
Segue uma descição do que tem lá.
E um Bom Exemplo de Sistema Integado
de Gestão Empresarial,Usando Orientação a Objetos,
Com Todos os Fontes e Documentação Disponiveis,
Modulos:
Contas a Pagar Já Desenvolido
Contas a Receber Já Desenvolido
Produtos Já Desenvolido Aguardando para Divulgar
Estoque Já Desenvolido Aguardando para Divulgar
Vendas Em Desenvolvimento
Compras Em Desenvolvimento
Faturamento Em Desenvolvimento
Ao Final de Cada Modulo, Sera Disponibilizado os Fontes e a Documentação.
O Modulo de Vendas Assim Como Produto e Estoque vai Utilizar Comando por Voz.
Todo Material é de Apoio a quem se Destina a Estudar Programação em Delphi.
Reconhecimento de voz Já Disponivel no Link
http://www.4shared.com/rar/rr_h4fV3/ReconVoz.html
Modulos Contas a Pagar e Receber Já Disponiveis no Link
http://www.4shared.com/rar/b1RZNUes/Gerenciamento_de_Contas.html
É 90 % Orientado a objeto então é bom entender de Classes, Construtores, Destrutores.
Para entender o Funcionamento Completo,
Mas a parte que você quer é so olhar as Tabelas do Bd (Bd De Configuração)
e Olhar a tela de usuarios, ah e ta tudo documentado acho que só de você olha os pdfs
não vai ter nenhum problema em entender.
Bons desenvolvimentos ai pra vc,
att.
04/04/2013
Frederico Brigatte***
É só criar uma conta lá e pronto? Já pode baixar o exemplo? Bacana esse exemplo ai, hein? Qual banco que usa? Já da para utilizar e estudar? Ta funcionando o que tem pronto? Qual versão do Delphi foi desenvolvido?
04/04/2013
Vanderson Freitas
suporta os bancos (interbase, Firebird, Mysql, Sqlserver e Oracle) então pode ser migrado facilmente
para qualquer banco desses. Além do que essa parte é feito tudo orientado a objetos com classes
então pode ser mudado facilmete visto que não tem nehum componente de conexao nos forms é so classes mesmo.
Está Funcionando Perfeitamente, Tudo o que você precisa está na documentação que é bem extensa.
Bom Funciona Assim é so deixar os 2 Bancos de Dados na mesma pasta do executavel.
Contas.fdb contas_cfg.fdb junto com as 2 dlls se for utilizar o envio de email (mas não é necessario)
É so ter o executavel Contas.exe e os dois bancos no mesmo local e executar que vai rodar normalmente.
Tem 2 Bancos porque é o Seguinte um é de configuração do sistema (contas_cfg.fdb) as tabelas de usuarios e de rotinas
que voce quer ta nesce banco. O outro é o banco de dados das empresas ( porque é multiplo emmpresas )você pode ter
matriz e filiais né.
Más olha a Documentação cara ta tudo lá fera,
inclusivo a modelagem do designer de dados (Erviw) para voce migrar facil para outro bd.
Abraços e Bons desenvolvimentos ai.
Att,
Vanderson Cavalcante
vanderson.freitas@ig.com.br
Clique aqui para fazer login e interagir na Comunidade :)