Zugriff auf Session direkt auf JSF-Seite

Raphalon

Aktives Mitglied
Hallo,

welche Lösungsmöglichkeit(en) gibt es für folgendes Problem: ein User hat sich eingeloggt (die Session ist also bereits erstellt). Nun soll auf jeder danach aufrufbaren JSF - Seite geprüft werden, ob ein User eingeloggt ist. Dies soll z.B. nicht erst nach Absenden des Formulars in einer Bean über "Security Roles" mittels @RolesAllowed("list-of-roles") geprüft werden, sondern die Seite selbst soll gar nicht erst angezeigt werden, wenn der User nicht eingeloggt ist.

In einer jsp-Seite könnte dies z.B. mittels folgendem Konstrukt erfolgen:
HTML:
<c:if test="${empty sessionScope.user}"> 
    <c:redirect url="/index.jsp" /> 
</c:if>
Wie würde "man" das in JSF machen?

Gruß,

Raphalon
 

Raphalon

Aktives Mitglied
OK, danke. Alternativ kann man auch SystemEvents verwenden. Man bindet sie in die jsf - Seite(n) ein z.B. mit
[XML]<f:view>
<f:event type="preRenderView" listener="#{userBean.verifyLogin}"/>
...
</f:view>[/XML]
In der UserBean navigiert man dann bei fehlendem Login entsprechend:

Java:
public void verifyLogin(ComponentSystemEvent event) {
	if (!loggedIn) {
		FacesContext context = FacesContext.getCurrentInstance();
		ConfigurableNavigationHandler handler = (ConfigurableNavigationHandler) context.getApplication().getNavigationHandler();
		handler.performNavigation("login");
	}
}
Wenn jedoch einmal ein Login erfolgt ist und eine Seite im Cache des ClientBrowsers ist, und man sendet nach einem Logout erneut z.B. Formulardaten an den Server, dann werden diese auch bearbeitet. Grund: der Login wie oben wird nur dann überprüft, wenn die jsf-Seite vom Server geladen wird. Daher müßte man zusätzlich die Beans absichern, die das Forumlar verarbeiten.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
W JSF Probleme mit Zugriff zur Managed Bean Web Tier 11
R JSF Zugriff für Helpdesk-Mitarbeiter Web Tier 15
K Converter + Zugriff auf DAO und EntityManager Web Tier 7
O JSF Zugriff auf entfernte Dateien Web Tier 11
S [JSF] Zugriff auf Bean (Eclispe,JBoss) Web Tier 12
J Servlet Zugriff Servlet Web Tier 11
H JSF Fehler bei Zugriff auf f:attribute Web Tier 2
R Zugriff Validator in Tabelle (ui:repeat) auf andere Felder Web Tier 2
M JSF Zugriff auf mehrere Formulareinträge in einem Validator Web Tier 9
A JSF xhtml parameter / zugriff auf value Web Tier 2
R Zugriff auf geschützten Bereich ohne Authentifizierung Web Tier 10
M JSF Kein Zugriff auf ManagedBeans, nach JSF Migration von 1.2 nach 2.0 Web Tier 4
K Struts request Zugriff Web Tier 4
S Lesender Zugriff auf Datei im Webprojekt Web Tier 2
D Servlets vor direktem Zugriff schützen Web Tier 2
M Zugriff aus eigenen Tags auf Struts Value Stack Web Tier 2
S Problem mit Servlet und Zugriff auf Orace XE Datenbank Web Tier 2
J JSP -> DB Zugriff? Web Tier 4
M JSF Designfrage bzgl. DB-Zugriff Web Tier 9
I Gleiche Session von EJB Container in JSF Container verwenden? Web Tier 21
R Session löschen Web Tier 3
J Session ist nach Klick auf Zurück-Button wieder aktiv Web Tier 3
jann Servlet Bei jedem Request wird eine neue Session erstellt. Web Tier 6
J Session Servlet - JavaScript Web Tier 6
M Session closed - und nun? Web Tier 1
F JSF synchronized(session) Frage ? Web Tier 1
F JSF p:selectOneMenu Session Web Tier 10
T JSF Problem wenn Session abgelaufen ist Web Tier 6
Q JSF bei Session-Timeout Weiterleitung auf spezielle Login-Seite Web Tier 15
D JSF Überprüfen der Session ID in JSF und JAVA Web Tier 9
R Servlet Resource laden für SMTP - Session Web Tier 4
B JSF Mojarra 2.1.5: java.lang.IllegalStateException: Cannot create a session after the response has been Web Tier 7
R JSF Session Handling Web Tier 3
X JSP Auslesen der Daten einer Session Web Tier 3
X Managed Bean Scope zwischen Request und Session gesucht Web Tier 6
crashfinger JSP Session verloren bei DNS Servernamen & IE Web Tier 6
C session trackung auf einfacher web-site Web Tier 17
F JSF Session-Kolision Web Tier 3
H JSF Session Initialisierung Web Tier 2
E JSP Browser Tab Session Web Tier 7
F Session Tutorial Web Tier 5
T JSP Session Login - Sicherheit Web Tier 4
J Loginbereich mit Session und Datenbank Web Tier 5
M 2 Cookies in der session (cocoon 2.2) Web Tier 4
F Richtiges Session Management mit Servlets Web Tier 4
P JSP: Liste in Bean über Session aufbauen Web Tier 6
7 Struts+AJAX- Session-Handling? Web Tier 2
B JSF session bean mit worker thread updaten Web Tier 7
J Crash bei session timeout Web Tier 3
M session Speicherort - ID ändern Web Tier 8
V ANFÄNGER : eigene Session Web Tier 3
V DatenbankConnection an Session hängen Web Tier 4
P session.removeAttribute Web Tier 3
K Orientierungslosigkeit: Webservice+Ajax(echo2)+Session-Management Web Tier 4
O struts - Gültigkeit einer Action an Session binden?! Web Tier 4
D JSF: Best Practice "Session invalidate nach Schließen des Browsers"? Web Tier 3
T Unbegrenzte Session Web Tier 14
D tapestry 5 session Web Tier 2
J Struts 2 session ID auslesen? Web Tier 5
M [J2EE] Session-Save Static-Objects? Web Tier 6
S Problem mit Session - Übergabe von Kontext zu Kontext Web Tier 2
F JSF: Beans in Session oder Request? Web Tier 4
H JSF - Bean (scope session) - Verfallsdatum? Web Tier 3
T Problem bei Session-Timeout Web Tier 3
M JSF refresh vs. session scope Web Tier 9
G Session in Servlet Starten und mit JSTL auslesen Web Tier 2
G Servlet - Von Parametern umstellen auf Session Web Tier 8
G jsf session erstellen Web Tier 10
rambozola session attribut in servlets und jsps Web Tier 11
M JSF session.invalidate() klappt nicht Web Tier 3
G Session.invalide() funktioniert nicht richtig Web Tier 2
T Seam-Komponenten oder Java Bean soll direkt nach Appserver-Start "leben" Web Tier 4
G pdf direkt darstellen ohne downloadfenster Web Tier 4
L formulardaten direkt von servlet senden Web Tier 7
M JSF - Bean aus SessionScope direkt im JSF Code auslesen Web Tier 1

Ähnliche Java Themen

Neue Themen


Oben