Queria desenvolver uma app java usando o JAAS na segurança.
Essa app rodaria num srver com tomcat ou glassfish com EJBs chamando os POJOs via JPA
Usuarios, Grupos e Permissões seriam configuradas no banco (postgreSQL, MySQL)
Posso ter permissão de grupo e/ou de usuário.
Então resumindo, to ficando doido ?
isso é possivel? ou no JAAS não tem como implementar esse nivel de segurança por grupo e/ou por usuário de forma fácil?
Quais seriam as outras opções de segurança mais flexiveis e fáceis de implementar ?
Obrigado a todos.
Sim… :O)
Em vez de colocar a securança na tua interface web, faça isso na tua camada de servicos. Desta forma, não importa se vc acessa o servico de uma página web via json, de um celular android via rdp, ou de um aplicativo desktop via webservices. O servico sempre estará seguro.
Bom a ideia é poder ter clientes de qualquer tipo mesmo. mas todos usando JSON
Mas o fato de ter EJBs statefull não vai contra o REST (stateless)? ou não precisar seguir a risca esse detalhe ?
Outro detalhe, o exemplo usa anotations para criar os grupos/usuários/permissões a determinado recurso
nesse caso acredito eu que não seria possível criar grupos usuários e modificar permissões em runtime. estou certo ?
para cada novo grupo/usuário/permissão teria que mexer no código. certo ?
se sim, está fora de questão, isso precisa ser configurável em runtime
ou seja, tenho que ter uma tela onde configuro isso em um banco de dados e
o sistema reconheça de imediato.
Aguardo mais dicas. Valeu mesmo
tveronezi
Se vc manter a seguranca no EJB, vc não precisa se preocupar com a seguranca na camada de apresentação (JSON nesse caso).
Outro exemplo de REST é… http://biblioteca/livro/1234. Esta mesma URL pode significar várias coisas diferentes. Por exemplo, se o usuário envia um GET ele quer ver o livro 1234; se ele envia um DELETE, ele quer deletar o livro… etc.
Outro detalhe, o exemplo usa anotations para criar os grupos/usuários/permissões a determinado recurso
nesse caso acredito eu que não seria possível criar grupos usuários e modificar permissões em runtime. estou certo ?
para cada novo grupo/usuário/permissão teria que mexer no código. certo ?
Certo. Pra isso vc pode licar com a seguranca no código…
@LocalBean@StatelesspublicclassBombImpl{@ResourceprivateSessionContextcontext;publicvoidthrowBomb(){finalPrincipalprincipal=this.context.getCallerPrincipal();if(!this.context.isCallerInRole("administrador")){thrownewAccessException("Vc não é um administrador! Cai fora!); } . . . }...}