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…
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!
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
É 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
Seria mto interessante!