Interceptor EJB

4 respostas
F

Pessoal alguem sabe como posso acessar um Cookie ou o HttpRequest dentro de um Interceptor EJB, lembrem-se que não é um Interceptor do Struts2.

javax.interceptor.AroundInvoke
javax.interceptor.InvocationContext

Dentro do método intercept queria saber como recupero essa informação.

4 Respostas

Alexandre_Saudate

far56:
Pessoal alguem sabe como posso acessar um Cookie ou o HttpRequest dentro de um Interceptor EJB, lembrem-se que não é um Interceptor do Struts2.

javax.interceptor.AroundInvoke
javax.interceptor.InvocationContext

Dentro do método intercept queria saber como recupero essa informação.

Dentro de um EJB? Não tem como. Simplesmente porque o EJB pode ser acessado de qualquer contexto (Java Desktop, ME, outras linguagens…). Aliás, nem deveria, já que EJBs têm o propósito de lidar com tarefas de negócio, não com detalhes de implementação.

[]´s

B

São camadas diferentes, um interceptador está na camada de negócio(desacoplada do cliente), já uma requisição ou resposta estão na camada de controle…

F

Pessoal obrigado pelas explicações, mas como poderia então recuperar uma autenticacao realizada pelo JAAS em EJBs diferentes?
Ex.

EBJ1 faz um servicelocator para o EBJ2, mas eu estou autenticado apenas no EBJ1, sei que preciso autenticar no EJB2, estou usando implementacao do JAAS + SSO, no servidor OC4J, faz a autenticacao usando cookie para guardar as informacoes do usuario, isso funciona perfeitamente quando eu mudo de contexto app, pois eu recupero o cookie e faço a autenticacao do usuario no novo contexto, mas quando estou fazendo EJB conversar com EJB o negócio é diferente.

Alguém tem alguma idéia?

B

Se vc quiser trabalhar com autenticação e autorização utilizando EJBs vc deve trabalhar com metadados tais como :
@RolesAllowed, @DeclareRoles,@PermitAll,@DenyAll, já para recuperar um usuário vc pega o getCallerPrincipal da interface EJBContext(injetada através de @Resource)…
enfim da uma pesquisada no forum ou no google para saber mais sobre o assunto…

Criado 25 de fevereiro de 2010
Ultima resposta 26 de fev. de 2010
Respostas 4
Participantes 3