GARANTIR DESCONTO

Fórum Parametrização de Usuario #265539

16/01/2005

0

Estou completamente perdido de como fazer para criar parametros restingindo a ação de usuarios em programa cliente/servidor, ou seja, queria poder controlar se o usuario pode ou não inserir editar ou excluir registros abrir formularios modificar datas de relatorios etc

eu não queria fazer usando o conceito de nivel de usuario uma vez que isso restringe muito o controle parametrizado do usuario a minha ideia era criar um form para cadastrar os acessos do usuario mas não sei como fazer para deixar os dados do ususario de facil acesso no cliente e sem perder performance do programa .

se alguem puder me explicar como é feito pela maioria dos progrmadores eu ficaria muito agradecido

muito obrigado


Mhdragon-rs

Mhdragon-rs

Responder

Posts

17/01/2005

Paulo_amorim

Olá

Se vc tiver uma tabela usuário, poderia colocar nela campos que permitissem essa informação. Quando o usuário entrasse em uma interface, você consultaria essa tabela e veria se ele:
- Tem acesso a ela
- Tem permissão de seleção
- Tem permissão para realizar operações

Espero que ajude
Até+


Responder

Gostei + 0

19/01/2005

Mhdragon-rs

ok paulo muito obrigado por responder

mas faço outra pergunta
cada vez que for consultar a tabela ela vai estar no seervidor isso não fara o sistema ficar lento?


Responder

Gostei + 0

19/01/2005

Isabelct

Olá colega,

Você pode criar um tipo, que representa os campos da sua tabela. Exemplo:

TPermissaoUsuario = record
  CadastroDeCliente: Boolean;
  CadastroDeFuncionarios: Boolean;
  {demais cadastros aqui...}
end;


Depois você cria uma variável com este tipo, e após validar a senha do seu usuário (supondo que você tenha um controle de login de usuários), você verifica a sua tabela de permissões e preenche esta variável com o que o usuário pode ou não pode acessar. Depois, antes de abrir cada opção do menu, você consulta esta variável para ver se o usuário tem ou não permissão de acessar tal cadastro.

O único ponto contra desta solução é que se houver uma mudança nas permissões de acesso do usuário, o mesmo deverá sair do sistema e entrar novamente (mas isso não é nada grave...).

Espero que isso te ajude. Qualquer coisa, posso te dar mais umas dicas.


Responder

Gostei + 0

19/01/2005

Isabelct

Olá colega,

Você pode criar um tipo, que representa os campos da sua tabela. Exemplo:

TPermissaoUsuario = record
  CadastroDeCliente: Boolean;
  CadastroDeFuncionarios: Boolean;
  {demais cadastros aqui...}
end;


Depois você cria uma variável com este tipo, e após validar a senha do seu usuário (supondo que você tenha um controle de login de usuários), você verifica a sua tabela de permissões e preenche esta variável com o que o usuário pode ou não pode acessar. Depois, antes de abrir cada opção do menu, você consulta esta variável para ver se o usuário tem ou não permissão de acessar tal cadastro.

O único ponto contra desta solução é que se houver uma mudança nas permissões de acesso do usuário, o mesmo deverá sair do sistema e entrar novamente (mas isso não é nada grave...).

Espero que isso te ajude. Qualquer coisa, posso te dar mais umas dicas.


Responder

Gostei + 0

19/01/2005

Isabelct

Olá colega,

Você pode criar um tipo, que representa os campos da sua tabela. Exemplo:

TPermissaoUsuario = record
  CadastroDeCliente: Boolean;
  CadastroDeFuncionarios: Boolean;
  {demais cadastros aqui...}
end;


Depois você cria uma variável com este tipo, e após validar a senha do seu usuário (supondo que você tenha um controle de login de usuários), você verifica a sua tabela de permissões e preenche esta variável com o que o usuário pode ou não pode acessar. Depois, antes de abrir cada opção do menu, você consulta esta variável para ver se o usuário tem ou não permissão de acessar tal cadastro.

O único ponto contra desta solução é que se houver uma mudança nas permissões de acesso do usuário, o mesmo deverá sair do sistema e entrar novamente (mas isso não é nada grave...).

Espero que isso te ajude. Qualquer coisa, posso te dar mais umas dicas.


Responder

Gostei + 0

19/01/2005

Aroldo Zanela

Colega,

Veja este componente do [url=http://sourceforge.net/projects/usercontrol]QmD[/url]. Aqui no fórum tem alguns esclarecimentos adicionais efetuados pelo autor, basta utilizar o link acima ´pesquisar´ para encontrar todas as referências para o User Control.


Responder

Gostei + 0

29/01/2005

Mhdragon-rs

:lol:

olá isabel esta solução parece otima mas eu pergunto se acada consulta eu vou no banco de dados pesquisar a tabela? me diz outra coisa uma variavel pode receber mais de um valor simultaneamente, como fazer isto?

um muito obrigado pela ajuda vai seer grande valor!!!!!


Responder

Gostei + 0

29/01/2005

Isabelct

[quote:9c01a24dc6=´mhdragon-rs´]olá isabel esta solução parece otima mas eu pergunto se acada consulta eu vou no banco de dados pesquisar a tabela? [/quote:9c01a24dc6]

Acho que o ideal para o seu caso seria no form de login, após validar a senha do usuário, consultar o banco e alimentar a sua variável de permissões. Assim, durante a execução do programa, você consulta apenas esta variável, não precisando recorrer sempre ao banco de dados.

[quote:9c01a24dc6=´mhdragon-rs´]me diz outra coisa uma variavel pode receber mais de um valor simultaneamente, como fazer isto?[/quote:9c01a24dc6]

Sim e não. Uma variável de um tipo comum, como um string ou um Integer, pode receber apenas um valor por vez. Mas você pode criar uma variável de um tipo composto, utilizando record, e então uma variável poderá ter mais do que um valor. Vejamos um exemplo:

TAcesso = record
  Leitura: Boolean;
  Gravacao: Boolean;
  Exclusao: Boolean;
end;

TPermissaoUsuario = Record
  CadastroDeCliente: TAcesso; 
  CadastroDeFuncionarios: TAcesso; 
  {demais cadastros aqui...} 
end; 

. . . 

var
  PermissaoUsuarioCorrente: TPermissaoUsuario;


A variável PermissaoUsuarioCorrente é que você vai alimentar na entrada do seu sistema. Ela terá várias ´subvariáveis´ (o nome não é esse, mas assim fica mais elucidativo), que irão definir o acesso a cada um dos módulos do sistema.

PermissaoUsuarioCorrente.CadastroDeCliente ou
PermissaoUsuarioCorrente.CadastroDeFuncionarios


E cada uma destas ´subvariáveis´ terá mais algumas ´subvariáveis´ que indicam a forma de acesso a cada um desses cadastros.

PermissaoUsuarioCorrente.CadastroDeCliente.Leitura ou
PermissaoUsuarioCorrente.CadastroDeCliente.Gravacao ou 
PermissaoUsuarioCorrente.CadastroDeCliente.Exclusao


E é desta forma que você deve preencher as suas variáveis. E então depois, quando o usuário clicar no botão para excluir um cliente, você verifica se ele tem permissão de excluir clientes verificando o conteúdo da variável ´PermissaoUsuarioCorrente.CadastroDeCliente.Exclusao´

Acho que era isso. Qualquer coisa, retorna pra cá!


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar