Fórum Direitos #345898
12/09/2007
0
Rjun
Curtir tópico
+ 0Posts
12/09/2007
Daykas
Eu uso. Na tabela de cadastro de usuários eu crio campos para isso de acordo com o número de menus criados.
Quando o usuário é cadastrado, o administradro marca os checks qu epossuem a inscrição do que ele pode acessar, ou desmarca o que não pode. Isso fica gravado na tabela.
Quando o usuário loga, o sistema precisa reconhecê-lo para autenticá-lo e, nesta verificação, o sistema habilita os menus de acordo com as permissões condecidas.
É mais ou menos assim: o menu financeiro só habilita se a coluna p4 do usuário for iguala a 1, senão fica desabilitada.
Para isso você deve criar uma função, senão vai encher de if, then e else.
Valew;
Gostei + 0
12/09/2007
Paullsoftware
amigo desculpa se meter assim na sua resposta, mais teria como enviar um exemplo que como você fez?? estou tentando implementar no meu sistema exatamente isso mais até agora o máximo que consigo é cadastrar os menus dentra da tabela dinamicamente... desde já agradeço amigo! :wink:
Gostei + 0
13/09/2007
Rjun
Na tabela que faz a ligação está o código do usuário, código do direito e um campo que indica se o usuário tem ou não direito. Alguem faz algo parecido com isso? Imagine que alguem consiga acesso a tabela e altere o valor das permissões. Isso com certeza não seria bom. Criptografar um campo que indica TRUE ou FALSE também não parece ser muito eficiente. Qual seria o caminho?
Gostei + 0
13/09/2007
Paulo
Gostei + 0
14/09/2007
Rjun
IdUsuario IdDireito Estado 0001 0001 1
O problema é que se algum usuário tenha acesso a essa tabela, ele pode modiciar o valor da coluna Estado. Criptografar essa coluna não parece ser uma boa ideia, pois seria fácil descriptografar.
Estou utilizando SQL Server e normalmente os clientes tem a senha do SA do banco.
Gostei + 0
17/09/2007
Rjun
Gostei + 0
17/09/2007
Rodolfo.pirolo
Para resolver este problema estou utilizando o componente User Control.
Já deve ter ouvido falar dele.
www.usercontrol.net
Rodolfo
Gostei + 0
17/09/2007
Paullsoftware
Gostei + 0
18/09/2007
Brjedi
´Na informática nada se cria, tudo se copia´
[]s,
Gostei + 0
16/07/2008
Delphi32
Na tabela de direitos eu gravo apenas o que o usuário pode fazer. Quer dizer, o que o usuário não pode fazer eu não gravo na tabela.
Nessa tabela, assim como você, tenho o campo código do usuário, código do que está sendo permitido e mais uma chave criptográfica. Essa chave criptográfica é que valida se o usuário tem realmente acesso àquela opção ou se a tabela foi modificada. Para gerar a chave eu não pego simplesmente um True ou False. A chave é gerada em cima de uma string composta por vários códigos. Por exemplo: no campo da chave você pode gravar o hash md5 da seguinte string:
CODIGO_DO_USUARIO+CODIGO_PERMISSAO. Dessa forma, o usuário até pode mudar o campo código de usuário para o código dele, mas a chave não vai bater. E como eu só tenho na tabela o que ele pode fazer, fica tudo certo. Qualquer coisa, posta aí. Tô voltando hoje ao fórum...
t+!
Gostei + 0
16/07/2008
Delphi32
mas achei o tópico no pesquisar e achei que estava vendo o índice do fórum... pelo tempo você até já resolveu o problema, não é?
t+!
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)