EJB + Sessão

Estou trabalhando a pouco tempo com EJB3,

Tenho um EJB do modo Stateful onde o mesmo valida o usuario e como é stateful mantem o estado e posso recuperar o usuario armazenado la a qualquer momento,
mas quando tenho outro EJB no caso stateless ou mesmo stateful não consigo recuperar o usuario setado no EJB stateful mensionado antes isso é um comportamento normal ? existe uma forma de criar e manter sessao do outro lado(EJB) ??? meu cliente é Swing … todo o codigo esta funcionando certo por isso a ausencia de codigo no post .

Agradeço quem comentar.

Use segurança declarativa. Você vai usar java.security.Principal para obter o usuário logado.

Tem bastante material disponível, inclusive no forum:

http://www.guj.com.br/posts/list/42685.java
http://www.javadev.org/files/JAAS-JBoss.pdf

Suando Segurança declarativa consigo manter uma sessao no lado EJB ?

Abraço

EJB não deve ser usado para armazenar sessão de usuário, e nem deveria se preocupar com conceitos intrínsicos à aplicação web ou desktop, como autenticação de usuário. Lembre-se:

Stateful != Sessão

E não, não é possível, a partir de um Session Bean Stateless, chamar um Session Bean Stateful. Mas o contrário é possível.

Sim, considerando “sessão” como a sessão no contexto de segurança. Pois o usuário(Principal) sempre está disponível nos EJBs. O container gerência essa sessão entre chamadas de métodos de EJBs, usando a jndi.

Entendi Leonardo3001,

Só queria tirar a duvida, mas entendi a questao meus EJB só devem se preocupar com as questoes de funcionalidades do sistema, como regras de negócio e outras … as questoes como segurança(loguin) e tal fica a cargo do cliente …

Valeu …