| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/06/2010 17:37:46
|
janjan
JavaEvangelist
![[Avatar]](/images/avatar/ead79bebb88514b1e270b8856af6fce1.png)
Membro desde: 25/09/2008 18:44:25
Mensagens: 434
Offline
|
Pessoal, vi que posso dizr qum pode ou nao executar os metodos em um Stateless no java ee
to comecando um projeto e quero saber se tenho como fazer essas roles serem criadas dinamicamente por alguem,alguma cisa, vir do banco
nao posso setar
admin, gerente, contabil
pra usa um método pois essas roles são dinamicas. podem nao existir mais...
nao posso deixar isso no código...
espero uma ajuda ai galera
forte abraço!
vlw
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/06/2010 21:56:48
|
garcia-jj
JWizard
Membro desde: 13/04/2009 22:11:50
Mensagens: 2715
Localização: Porto Alegre
Offline
|
Aconselho você a ler a documentação do JAAS, que é muito bem documentada. Além disso no J2EE tutorial tem muitas informações de como fazer a segurança de seus EJBs.
Mas vou corrigir você. Você pode controlar a autorização tanto de stateless beans como stateful beans, inclusive MDB, schedulers. Não sei te dizer se isso se aplica para Backing Beans.
Basicamente você pode usar anotações @RolesAllowed, @PermitAll e @DenyAll tanto como classe, método ou ambos. Você também pode injetar um EJBContext e fazer a validação manual via EJBContext.isCallerInRole.
Abraços
|
http://github.com/garcia-jj
Não respondo dúvidas via MP. Use o fórum. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/06/2010 07:34:24
|
janjan
JavaEvangelist
![[Avatar]](/images/avatar/ead79bebb88514b1e270b8856af6fce1.png)
Membro desde: 25/09/2008 18:44:25
Mensagens: 434
Offline
|
Bom a pior das duvidas acredito que não tenho mais...
achei que teria que ser sempre fixo no codigo essas coisas...
mas pelo que vc falou pode ser colocado metodos e o negócio ficar mais dinamico!
obrigado pela dica. abraços!
bom final de semana!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/06/2010 08:30:53
|
janjan
JavaEvangelist
![[Avatar]](/images/avatar/ead79bebb88514b1e270b8856af6fce1.png)
Membro desde: 25/09/2008 18:44:25
Mensagens: 434
Offline
|
Amigo garcia-jj Vi um outro post que vc respondeu sobre esse mesmo assunto! para usar grupos, e as roles declarativas pertencem a grupos.....etc.... mas estou com o mesmo problema do cara que vc tentou ajudar no outro post... mas...to procurando e procurando, lendo manuais do java EE enfim, do JAAS... mas oque eu queria realmente é saber se consigo definir roles de acesso dinamicamente e não cravado no código! nao achei anda que me informasse disso nos tutoriais que li! ajuda ai galera!!!! abraços!
This message was edited 1 time. Last update was at 12/06/2010 09:05:28
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/06/2010 12:57:45
|
garcia-jj
JWizard
Membro desde: 13/04/2009 22:11:50
Mensagens: 2715
Localização: Porto Alegre
Offline
|
Hmm, eu tinha explicado isso lá, acho que você não entendeu. Mas vamos lá de novo.
A autorização do JEE usa JAAS por baixo dos panos. No JAAS você tem um Principal, que é quem está autenticado; você tem um Subject, que é o recurso que você quer usar; e você tem as roles.
Uma role nada mais é que uma permissão (falando a grosso modo). Imagina então que você tenha permissões do tipo ALTERAR_USUARIO, VER_USUARIO, ALTERAR_CLIENTE, VER_CLIENTE. Isso sim dele ser manual e estará fixo no código como:
Agora falando no JEE você terá na sua aplicação um usuário, e esse usuário poderá participar de um ou mais grupos. Lembre-se que um grupo NAO é uma role. Os grupos podem ser dinamicos.
No seu ejb-jar você define a tradução entre grupos e roles. Por exemplo, o grupo ADMIN tem as roles VER_USUARIO, ALTERAR_USUARIO, VER_CLIENTE e ALTERAR_CLIENTE, já o grupo USER terá acesso apenas às roles VER_USUARIO e VER_CLIENTE.
Ou seja, ROLES ficam fixas no código, mas GRUPOS não.
|
http://github.com/garcia-jj
Não respondo dúvidas via MP. Use o fórum. |
|
|
 |
|
|