Zugriff auf session-scoped JSF managed bean in der web-filter
Habe ich SessionScoped bean genannt userSession zu verfolgen, dem Benutzer ( Benutzername, ifLogged, etc). Ich möchte filter einige Seiten, und deshalb brauche ich Zugriff auf die bean aus dem webFilter habe ich erstellt. Wie mache ich das? Ich sieht aus wie seine, wenn nicht unmöglich zu importieren die Bohnen werden potenitally sichtbar.
InformationsquelleAutor user1997553 | 2013-01-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Unter der Decke, JSF speichert session scoped managed beans als ein Attribut des
HttpSession
mit dem managed-bean-name als Schlüssel.So, vorausgesetzt, Sie haben eine
@ManagedBean @SessionScoped public class User {}
, nur sollte dies innerhalb derdoFilter()
Methode:Oder, wenn man eigentlich mit der CDI statt JSF verwalten Bohnen, dann verwenden Sie einfach
@Inject
direkt in den filter.Siehe auch:
Und wie kann ich überprüfen ob die CDI injiziert (Sitzung) bean instanziiert wurde oder nicht, ohne den Aufruf einer Methode auf, die Bohne (die würde die Bohne, wenn es noch nicht existiert)?
session.getAttribute(<userBean>)
funktioniert nicht mit CDI. Thx.InformationsquelleAutor BalusC
Als eine alternative, die Sie verwenden können CDI-beans und Spritzen Sie Ihre sessionbean normal.
InformationsquelleAutor Karl Kildén