EJB + Vraptor + session

10 respostas
jingle

Olá gostaria de saber o que vocês me recomendam, pra mim ter acesso ao usuario logado no sistema nos meus ejb, ficar passando sempre por parametro quando chamar os métodos do ejb? (já que no vrptor consigo injetar ele).

10 Respostas

Lucas_Cavalcanti

não sei se entendi direito a sua dúvida…

mas vc pode chamar um método que te “loga” na camada dos ejbs, e a partir daí só usar os métodos direto…

G

Nas minhas aplicações eu carrego os dados do usuário somente quando ele autentica. Carregar os dados do usuário a cada requisição vai causar um overhead desnecessário em sua aplicação, ainda mais se você usar EJB remoto.

jingle

hmm ok, eu carrego já meu usuário logado ao fazer login no sistema e coloco em um objeto userInfo (semelhante ao do myDvds Sessionscope) até ai tudo bem o vrpator tem acesso ao usuário logado sempre que precisar, mas preciso ter acesso sempre a este usuário nos ejb ( remoto ) pensei em passar o usuário logado sempre que minha controller for chamar um ejb, problema é que todo método ejb ia ter este parâmetro e isso não me parece lá boa coisa. acho que o que procuro é algo tipo sessionscope pro ejb mas não sei se to conseguindo explicar direito =S

Lucas_Cavalcanti

o ponto é: vc precisa mesmo usar ejb? vc tem uma aplicação distribuída?
não tem alguma solução mais simples?

jingle

Lucas Cavalcanti:
o ponto é: vc precisa mesmo usar ejb? vc tem uma aplicação distribuída?
não tem alguma solução mais simples?

sim este foi um requisito, para ser com módulos e distribuída. =S

G

Tudo depende de como é seu sistema de login. Nos meus sistemas sempre uso EJB + JAAS, sendo assim basta eu fazer um context.getPrincipal e já tenho o usuário autenticado, inclusive posso apenas anotar os EJBs com @AllowedRoles, @PermitAll, @DenyAll e afins e tenho todos os controles de segurança.

Se você não usa JAAS e faz a autenticação na mão, aí sim você vai precisar passar tudo na mão.

G

Lucas Cavalcanti:
o ponto é: vc precisa mesmo usar ejb? vc tem uma aplicação distribuída?
não tem alguma solução mais simples?

:cry: :cry: Você não gosta de EJB, é? hehehehe.

jingle

garcia-jj:
Tudo depende de como é seu sistema de login. Nos meus sistemas sempre uso EJB + JAAS, sendo assim basta eu fazer um context.getPrincipal e já tenho o usuário autenticado, inclusive posso apenas anotar os EJBs com @AllowedRoles, @PermitAll, @DenyAll e afins e tenho todos os controles de segurança.

Se você não usa JAAS e faz a autenticação na mão, aí sim você vai precisar passar tudo na mão.

hmmm vou dar uma estudada neste JAAS ainda não conheço mas parece ser a minha soluçao, valeu. (se tiver algum link especial que recomenda pra leitura fico grato.)

Lucas_Cavalcanti

garcia-jj:
Lucas Cavalcanti:
o ponto é: vc precisa mesmo usar ejb? vc tem uma aplicação distribuída?
não tem alguma solução mais simples?

:cry: :cry: Você não gosta de EJB, é? hehehehe.

KISS
EJB is anything but simple

G

Lucas Cavalcanti:
KISS
EJB is anything but simple

Isso porque você não conheceu EJB nos tempos do JDK 1.3. Tinhamos até mesmo que criar os stubs. Hoje está bem mais simples, hehe. :thumbup:

Rapaz, você está com sorte. A pouco recebi um email do refcards sobre JAAS. Ainda não lí o documento, mas acho que dá para ter uma boa noção básica. Para usar JAAS na camada EJB dê uma olhada no JEE tutorial no capítulo sobre Security.

Criado 17 de maio de 2010
Ultima resposta 17 de mai. de 2010
Respostas 10
Participantes 3