Tu ne peux pas accéder à ta session http dans des EJB ou des interceptors.
Par contre, tu as un context EJB (EJBContext) qui contient le Principal.
Pour avoir l'ejbcontext dans un interceptor, tu as la méthode
javax.ejb.InvocationContext.getEJbContext()
ou dans un EJB avec :
1 2 3
|
@Resource
private SessionContext sctx; |
Le Principal est passé "automatiquement" au conteneur J2EE par les clients EJB (ex: servlet). Encore faut-il que l'utilisateur soit authentifié via un mécanisme JAAS (c'est le cas pour les authentifications effectués par les conteneurs). Si tu as une page de login spécifique, tu peux utiliser les "LoginModule" mis à ta disposition par le conteneur.
Partager