Colega...

Isto pode parecer trabalhoso, mas foi a maneira mais segura que consegui 
para restringir o acesso de usuários às rotinas do sistema.
Crio uma tabela de usuários com os campos:

login           varchar    10 (chave primaria)
senha           varchar    10
nivel           char        1
nome            varchar    35

Uma tabela Permissoes com os seguintes campos:

rotina          varchar    30
acessar         boolean
inserir         boolean
alterar         boolean
eliminar        boolean
processar       boolean
imprimir        boolean
gerenciar       boolean


Crio as funções na rotina de cadastramento de usuários, que gerarão as 
permissões em conformidade com o nível, ou em conformidade com o Master 
do Sistema que está cadastrando o usuário.

Deve-se criar uma função no form Principal com o nome de "AUTORIZA" e 
com os parâmetros:

   Rotina      atividade

para o parâmetro rotina você passa o nome da rotina ou a chave que você 
resolveu usar para aquela tela ou  a rotina em questão e a atividade 
pode ser 'INCLUIR', ou 'ALTERAR'. A rotina deve retornar Verdadeiro ou 
Falso.

De acordo com o usuário vou dando a ele o tipo de acesso e liberdade 
para cada rotina do sistema.

Assim antes de inserir, eliminar, alterar, imprimir certas informações, 
testa-se a possibilidade de se executar ou não a operação...

Tenho feito assim, e acho que está bem tranquilo programar desta forma.

Os campos Login e Senha, obviamente são criptografados.

Espero ter ajudado!!!

Sds
Emanuel Coutinho





Marcelo wrote:

> Pessoal:
>
> Tenho um sistema simples, com uma senha inicial somente para permissão 
> de acesso ou não ao sistema.
> Um clinte meu quer restringir os acessos dos usuários, a certas opções 
> do sistema, de acordo com a senha.
> Como eu faço para que de acordo com a senha o usuário tenha acesso ou 
> não a uma determinada opção do menu?
> Como faço para não exibir essa opção do menu ao usuário, se seu acesso 
> não permitir acesso a essa opção?
> Uso Delphi5 + Access + ADO
>
> Grato por qualquer ajuda.
>
> []´s
> Marcelo
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> -- 
> <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>
>
> Para ver as mensagens antigas, acesse:
> http://br.groups.yahoo.com/group/delphi-br/messages
>
> Para falar com o moderador, envie um e-mail para:
> [EMAIL PROTECTED] ou [EMAIL PROTECTED]
>
>
>
> Yahoo! Grupos, um serviço oferecido por:
>
>
> ------------------------------------------------------------------------
> Links do Yahoo! Grupos
>
>     * Para visitar o site do seu grupo na web, acesse:
>       http://br.groups.yahoo.com/group/delphi-br/
>        
>     * Para sair deste grupo, envie um e-mail para:
>       [EMAIL PROTECTED]
>       <mailto:[EMAIL PROTECTED]>
>        
>     * O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
>       Serviço do Yahoo! <http://br.yahoo.com/info/utos.html>.
>
>


[As partes desta mensagem que não continham texto foram removidas]




-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 

Responder a