Controle de Usuários com Perfil de Acesso

04/04/2013

17

Bom dia pessoal,

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?
Responder

Posts

04/04/2013

Jair Dubik

Veja se te ajuda.

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).
Responder
Obrigado pelo retorno Jair, e pela ajuda. Você teria um exemplo para me mostrar? Estou com dificuldades de fazer isso. To tentando fazer faz um tempão e não consigo.

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.
Responder
Jair, poderia me ajudar?
Responder
Ninguém???
Responder
Bom dia,
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.
Responder
Vanderson Cavalcante Freitas,

Como que baixo o exemplo desse site: http://www.4shared.com/rar/b1RZNUes/Gerenciamento_de_Contas.html ta pedindo senha.
Responder
Vanderson,

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.
Responder
Vanderson,

Como que funciona o 4shared? Como baixo esse exemplo?
Responder

04/04/2013

Jair Dubik

Frederico.

Enviei um e-mail com endereço onde existem vários sistemas completos prontos.

Sucesso.
Responder
Jair, já conheço esse site, andei vendo exemplos lá. Agradeço pela ajuda mas gostaria de tentar fazer com a ajuda do forum, não tenho muita experiência nesse tipo de programação. Eu tenho o UserControl instalado, mas gostaria de fazer um para aprender. Esse 4shared que o Vanderson postou o link, como que funciona? Não estou conseguindo baixar o exemplo que está lá. Preciso fazer alguma coisa, cadastro, é free?
Responder
Vanderson Freitas,

Como baixo o Gerenciamento de Contas.rar la no site? Preciso fazer cadastro? É grátis? Como funciona?
Responder
Amigão, o Cadastro no site é free,
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.
Responder
Vanderson,

É 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?
Responder
Cara ele ta utilizando o Firebird 2.1 mas o esquema de conexao que eu uso (Componenete de acesso)
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
Responder
E os componentes, também estão lá?
Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira