|
Usuários |
|
106 Usuários Online
|
|
[Artigos]
User Control - Controlando acesso e permissões através do Componente |
Publicado por ActiveDelphi : Segunda, Julho 17, 2006 - 10:56 GMT-3 (15415 leituras)
15 Comentários Enviar para um amigo Versão para impressão
|
Um aspecto muito importante que devemos observar ao desenvolver um sistema, está diretamente relacionado com a segurança do mesmo. Não basta ele ser bom, precisa ser seguro. Quando falamos em segurança, automaticamente somos obrigados a comentar sobre a acessibilidade de usuários no sistema.
Desenvolver uma rotina dessas por completo seria muito demorada para nós
programadores que sempre estamos atarefados. Vou mostrar como
fazer isso usando um componente, o User Control Package. É
um pacote de componentes OpenSource que permite facilmente controlar acesso
a programas
desenvolvidos em Delphi 5, 6, 7, 2005 e Kylix 3. Possui suporte aos principais
padrões de acesso a dados e servidores de Banco de Dados compatíveis
com Delphi. O controle dos itens de menu e actions é feita de
maneira automática e o acesso pode ser definido por Usuário e
por Perfil de Usuários.
Antes de iniciar o tutorial, baixe o componente
clicando aqui.
Salve e descompacte o componente na pasta Lib de instalação
do Delphi. Abra o delphi e primeiramente, feche todos os forms e Units abertos
(Menu File, Close
All). Em seguida, em File, Open, localize a pasta onde salvou o componente
e abra o arquivo
UserControls.dpk.

Figura 1 - Pacote UserControls.dpk aberto
Observe a lista dos componentes que serão instalados. Clique em Compile e
depois Install. Caso apareça alguma mensagem de notificação,
confirme-a. Salve o projeto. Vá até a última paleta de
componentes e veja o componente instalado.
Usando o Componente
Na sua aplicação, coloque o componente correspondente a Fonte
de Dados que você está utilizando. Veja que o componente suporta
vários tipos de conexões.

Figura 2 - Conexões suportadas pelo componente
Neste tutorial, usaremos o DBXUserControl, correspondente
com a ligação
dos componentes da paleta DBExpress. Precisamos agora configurar algumas
de suas propriedade. Vejamos as que serão utilizadas:
 |
+ActionList: Caso você use um ActionList para
definir algumas ações
do tipo Inserir, Alterar, Excluir, poderá informar
o componente e controlar cada ação por Usuário.
ActiveLogin: Ativa o funcionamento do Componente
+Connection: Aqui você informa qual seu
componente de conexão
com o banco de dados. Você poderá usar a unit de um DataModule
por exemplo e ligar à conexão lá configurada. Apenas
tome o cuidado de que o DataModule deverá ser criado antes do form onde
está seu componente
UserControl .Eessa prioridade é definida no menu Project,
Options do Delphi.
+MailUserControl: Caso queira possibilitar
ao usuário
solicitar a senha quando a tenha esquecido, poderá
colocar o componente MailUserControl no Form, liga-lo ao componente DBXUserControl
e configurar algumas opções de servidor no mesmo, como
o endereço SMTP, usuário, senha ou ainda definir uma mensagem
a ser enviada. Não muito aconselhado, pois a maioria das máquinas
não suporta o processo ou não possui conectividade com
um servidor SMTP.
+MenuCadastroUsuario, +MenuPerfilUsuario, +MenuTrocaSenha: Estes
são
simplesmente três menus que requerem ser exibidos na sua aplicação
e precisam ser criados. Usando o componente MainMenu, crie um menu para
Cadastrar Usuários, um para Perfis de Usuário e um para
Alteração
de Senha. No DBXUserControl, apenas ligue as propriedades aos referidos
menus criados.
|
TabelaPermissao, TabelaUsuario: No seu
banco de dados serão criadas duas tabelas, de forma automática
pelo componente, na primeira vez que ele for executado. Você poderia
estar alterando o nome das tabelas que serão criadas, mas é aconselhável
deixar o nome padrão para evitar futuras perdas de relacionamento.
As informações de senha serão criptografadas na tabela
de Usuários.
|
Executando seu sistema pela primeira vez, o componente irá criar as
tabelas no seu banco de dados e irá lhe informar um usuário e
senha para o primeiro acesso. A partir desse momento, você poderá criar
usuários, perfis e controlar os acessos livremente na sua aplicação.
Definindo Permissões

Figura 4 - Definindo Permissões
Você terá duas opções para controlar os acessos
dos Usuários. Poderá criar um perfil e definir todos os acessos
que o mesmo terá, e depois no cadastro de usuários, relacionar
o usuário ao perfil, ou, ao cadastrar um usuário, definir quais
os acessos exclusivos para aquele usuário, o que seria um processo mais
trabalhoso.
Resumindo, mostrei uma forma rápida e segura de se controlar
os usuários e níveis de acessos em seu sistema. Lembro que ainda
existem outros componentes semelhantes, mas o mais complexo é o que
lhes mostrei.
Qualquer dúvida, é só entrar em contato.
 |
Maikel Marcelo Scheid é técnico em Informática com ênfase
em Análise e Programação de Sistemas. Atua na área
de Desenvolvimento de Softwares em Delphi
para plataforma win32 e .NET.
Contato: maikelscheid@gmail.com |
|
|
Comentários | |
| | Comentários pertencem aos seus respectivos autores. Não somos responsáveis pelo seus conteúdos. |
por: cruzeirense : Jul 18, 2006 - 11:05 (Informações sobre o membro | Enviar uma mensagem)
|
|
Ótimo artigo, o componente parece ser muito interessante. Teria uma forma de controlar ações do tipo usuário pode inserir mas não pode excluir, pode apenas visualizar, etc.. ???
|
por: danielribeiro : Jul 26, 2006 - 10:28 (Informações sobre o membro | Enviar uma mensagem)
|
Muito útil seu componente, mas por favor me diga como é que você conseguiu colocar checkboxes na treeview. E se for um outro componente, teria como me passar o link para download?
Grato.
|
por: MeioKilo (meiokilo@hotmail.com)
: Jul 26, 2006 - 12:00 (Informações sobre o membro | Enviar uma mensagem)
http://http://
|
|
O Componente realmente é interessante para o controle de usuários, porém utilizando o BDE não é possível incluir novos itens em Perfis e Usuários, está retornando uma mensagem de que a tabela é somente leitura ('Table is Read-only) ???
|
por: karlosrapanui : Jan 26, 2007 - 01:36 (Informações sobre o membro | Enviar uma mensagem)
|
Ja existe uma nova versão do componente, inclusive com um recurso interessante (Tela de Usuários Logados).
http://www.usercontrol.net/index.php?option=com_content&task=view&id=21&Itemid=2
Seria importante alguem fazer um tutorial a respeito de como instalar o componente, pois ele requer que seja instalado tambem o Indy para rodar.
Acredito que seria de muita utilidade para todos.
Abraços
Carlos
Piracicaba/SP
|
por: gbt : Out 03, 2007 - 02:47 (Informações sobre o membro | Enviar uma mensagem)
|
|
ola! muito bom o seu componente, só que consegui a proeza de não observar a senha do primeiro acesso agora não consigo abrir, como faço pra gerar outra?
|
por: roberto.novakosky (roberto.novakosky@gmail.com) : Jan 28, 2010 - 01:45 (Informações sobre o membro | Enviar uma mensagem) | Eu acredito que este dpk só tem em versão mais antiga, faça download do site do vídedo, e pegue a versão 2.20 Final.
Vc precisa setar a path para os packages no Tools|Options do teu delphi
Faça Build do
- pckMD5.dpk
- pckUCDataConnector.dpk
- pckMD5.dpk
- pckUserControl_DT.dpk
por último faça install do
- pckUserControl_DT.dpk
Depois Instale o Compnente de conexão conforme o qual vc usa, no meu caso estou usando o Zeos
- pckZeosConn.dpk
Este pacote testei no Delphi 2006, mas pelo que vi roda no Delphi 6 também. | [ Comentários não permitidos para usuários anônimos. Por gentileza, registre-se ou conecte-se ao sistema
|
|
Edição 112 |
|
|
50 Programas Fontes |
|
|
Produtos |
|
|