Segurança em Java

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

botao.setEnabled(false) para desabilitar o botao

e true para habilitar…

:stuck_out_tongue:

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.

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?

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

[code]

if(nivel > 1)
{
botao.setEnabled(false);
}else{
botao.setEnabled(true);
}[/code]

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

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:

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

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!