Nivel de acesso usuário

7 respostas
K

Ola para todos! bem fiz um programa no netbeans para controle de estoque para desktop e nele estou utilizando o postgresq, nesse programa de estoque nem todos os usuarios podem ter acesso total e por isso é necessario ter um controle de quais usuarios vão ter acesso tota e outros so leitura.

por favor vcs podem me ajudar como criar essa herarquia de niveis de acesso, pois o jeito que fiz com um colega meu não ficou bom.

7 Respostas

W

Bem você pode cria uma outra tabela onde nela está contido os níveis de acesso ao sistema.

ex: COD NIVEL
1 Total
2 Leitura

Já no sistema quanto o usuário acessar-lo, verifique o tipo de acesso que esse usuário terá,
caso seja o de nível 1, referente a acesso total, abra a janela onde ele terá esse acesso, caso
contrário abra a janela onde ele possa somente fazer a leitura.

Espero que tenha entendido.

Ah e isso é só uma sugestão.

Até.

K

Pcomo posso fazer, tenho criar outro form e disabilitar as funcoes que o usuario 2 que so e leitura, nao ter acessorios gravar ou fazer alteracoes

P

Em algum lugar entre o banco de dados e o seu controller vc faz a seguinte pergunta:

  • o usuario atual pode fazer isso?
  • se pode, faz
  • se não pode, lança uma exception.

Ai na hora que vc cria telas bonitas, vc pode fazer algo como

  • o usuario atual pode clicar nesse botao (que ira deletar algo)?
  • se pode, deixa rolar
  • se não, nem mostre o botao ou deixe-o desabilitado.
K

valeu pelas dicas! o jeito que estou fazendo é criando conexoes e criei dois forms, um para o adm e outro para consulta, so que esse metodo não é eficaz, pos sempre que tenho que adicionar um usuario, tenho que aumentar os forms entendeu!

L

Boa noite!

Eu tenho o costume de criar uma tabela no banco de dados para controlar isso. A tabela relaciona o usuário cadastrado com uma String que seria a regra Podem haver N regras para 1 usuário.

Ex:

Tabela usuário:

id (int), nome (String), login (String), password (String) email (String)

Tabela de regras:

ref_usuario (int), regra (String)

Digamos que você tenha um botão que apaga algum registro, como por exemplo o cadastro de um funcionário, então só quem pode fazer esta ação é quem tem a regra “regra.apaga.funcionario” na tabela de regras.
Logo, ao clicar no botão você faz a consulta no banco de dados passando o código (id) do usuário logado no seu sistema e a regra “regra.apaga.funcionario” se ele encontrar o registro o usuário pode efetuar a ação, caso contrário exibe uma mensagem avisando que a operação não é permitida.
Desta forma de regras você pode definir coisas bem específicas como questões mais amplas… apenas definindo as regras (Strings)

Att.
Lucas

K

Entao pelo banco posso fazer essas regras?

L

Sim… você vai precisar apenas criar uma interface gráfica onde o usuário pode definir as regras (inserir, remover), se isso ocorrer no seu caso (algum usuário tem permissão de definir regras para outros usuários) … senão os registros podem ser criados diretamente no banco de dados… com comandos insert e delete para controlar as regras. Depois para verificação somente executando o select na tabela.

Criado 14 de agosto de 2010
Ultima resposta 17 de ago. de 2010
Respostas 7
Participantes 4