Segurança em Java

7 respostas
C

Olá, alguem tem um exemplo de como faço para habilitar / desabilitar botoes para segurança em Java?
por exemplo, eu tenho no meu sistema Cadastrar Usuario e Remover Usuario, e quero configurar para o usuario X ter somente Cadastrar usuario, logo para ele vai aparecer “Remover Usuario” desabilitado, sei la, ou nem vai aparecer…Como faço isso? Preciso muito disso…
Obrigada,
Carla

7 Respostas

Zakim

botao.setEnabled(false) para desabilitar o botao

e true para habilitar…

:stuck_out_tongue:

pintofree

Primeiro vc tera q criar niveis de usuarios no seu banco de dados, tipo nivel 1 faz tudo, nivel 2 apenas consulta. depois em cada Action vc tera q trabalhar o tipo de acesso a partir do nivel do usuario logado no banco.

C

sim , eu ja tenho essa tabela de acesso, só preciso que a minha aplicaçao leia Usuario e a Funcionalidade na tabela acesso, e o botao apareça ou nao…
no JAAS eu vi a implementacao WEB a nivel de tela, tipo, Fulano tem acesso ou nao ä Cadastrar.jsp…eu quero ä nivel de funcionalidade, pois , se tiver todos os botoes numa tela, como vou controlar? esse controle eu faço dentro da funcão Cadastrarusuario ou posso criar roles no JAAS do tipo Cadastrar.jsp / CadastrarUsuario , especificando aonde ta a funcao em cada pagina?

pintofree
Voce pode controlar tela por tela usuario por usuario, ou criar roles tmb. Porem acho q o mais facil e rapido e definir os niveis mesmo. ai vc separa no cogido o q cada um faz. tipo
if(nivel > 1) 
{
botao.setEnabled(false);
}else{
botao.setEnabled(true);
}

neste exemplo apenas o usuario com nivel 0 acessaria este botao.

A

Na empresa onde eu trabalho temo um framework desenvolvido aqui mesmo que faz o seguinte:

1-Ao abrir o modulo ele le da tabela o nivel do usuario, a funcionalidade e o componente (JButton, JTextfield, JList, …), e armazena isso num map na memoria.

2-Depois de iniciar a tela, depois de iniciado todos os componentes então ele faz uma chama ao framework passando a tela como parametro.

3-O framework procura campos com uma determinada annotation (que foi previamente colocada na declaracao de cada componente). Algo como:

@Seguranca JButton botao1;

4-Entao o framework descobre para aquele usuario qual o nivel de acesso dele para aquele botao (os compoenntes são diferenciados pela propriedade name, cada componente tem um name diferente). No caso aqui sao: acesso total, acesso somente a visualização, acesso negado.

5-Por ultimo o framework atribui true/false ao metodo setEnabled.

Funciona mto bem, inclusive temos um modulo soh para cadastrar essas propriedades de seguranca! Levamos +/- um mes e meio para fazer, ficou otimo! :smiley:

pintofree

Andre Nao tem como vcs disponibilizarem este framework para a comunidade??? me interesei nele tmb, daki uns dias vou precisar implementar isto em um projeto e se tivese seria muito mais facil

A

Rapaz, é código proprietário :frowning:
É da empresa… infelizmente não posso disponibilizar ele. Se fosse meu eu até disponibilizava, alias tudo que é meu eu passo adiante…
Mas estou ai pra ajudar no que for possivel, dar algumas idéias, até colaborar com vc no desenvolvimento, quem sabe temos ai o nascimento de um framework de segurança livre :smiley:
Seria mto interessante!

Criado 17 de fevereiro de 2008
Ultima resposta 18 de fev. de 2008
Respostas 7
Participantes 4