Allgemeine Frage zu Authentifizierung mittels Servlet API

G

Guest0815

Gast
Hallo,

ich möchte in einer JSF-Anwendung den Login mittels der neuen Servlet Login Funktionalität realisieren. Ich habe auch schon ein paar Tutorials gefunden (z.B. Servlet 3 Programmatic Authentication API), die jedoch alle nicht vollständig sind und deshalb fehlt mir irgendwie der Gesamtkontext.

Die Vorraussetzungen wären folgende:
(1) Es gibt eine Menge von Seiten, die nur eingeloggte User sehen dürfen.
(2) Diese Seiten sollen auch nicht erreichbar sein, wenn der User direkt die URL aufruft.
(3) Die Userdaten sind in einer Datenbank gespeichert.

Ich würde nun gerne wissen, welche Schritte notwendig sind, um diese Funktionalität zu erreichen. Kann ich dafür beispielsweise am Server eine JDBC Security Realm, im web.xml Security Constraints definieren und die Loginpage wie in dem oben angeführten Tutorial realisieren, oder sind da noch weitere Schritte notwendig?

Gibt es eventuell einen bessern Weg?

Ich hoffe ihr könnt mir hier weiterhelfen und auf den richtigen Weg bringen ;-)
 

Vector

Mitglied
Hallo. Für meine Webapplikation habe ich es immer simpel gelöst (das heisst natürlich nicht das es perfekt ist).

Als aller erstes würde ich das Servlet dafür benutzen um wie gesagt den Login zu realisieren.
Anschließend habe ich bei meinen Applikationen immer eine Security-Regel am Anfang der Seite definiert:
Java:
<h:body>
        <ui:composition>
            #{authenticationBean.securityRedirect()}
        </ui:composition>
    </h:body>

Hier als Beispiel mit einer Template funktion. Anschließend dann auf jeder Seite die nur für
eingeloggte Benutzer verfügbar sein soll:
Java:
 <ui:insert name="security">
                <ui:include src="/templates/security.xhtml"/>
            </ui:insert>

Und anschließend noch die ManagedBean "authenticationBean":
Java:
public void securityRedirect() {
        if (!isLoggedIn()) {
            try {
                FacesContext.getCurrentInstance().getExternalContext().
                        redirect("/index.xhtml");
            } catch (IOException ex) {
            }
        }
    }

Sobald der User also nicht eingeloggt ist wird er zur index.xhtml weiter geleitet.
Zusätzlich würde jede Seite noch noch mit einem <h:form> tag umschließen und darin
das rendered Attribut so setzen das wirklich nur was angezeigt wird wenn der User eingeloggt ist.

Ich hoffe ich konnte dir ein bisschen weiter helfen.
Grüße
 
G

Guest0815

Gast
Hallo Vector,

vielen Dank für Deine Antwort. Das wäre natürlich auch eine Methode. Eine Frage habe ich allerdings noch (fange gerade erst an mich mit JavaEE zu beschäftigen :)). Wie genau machts Du das Login über das Servlet. Baust Du da Deine eigene JDBC Verbindung auf, um den Usernamen und das Passwort zu holen? Ist dazu noch irgendeine Konfiguration nötig? Hast Du dazu eventuell auch noch ein paar Codeschnipsel?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Allgemeine Frage zu Java Logging (JLA, Log4J) Allgemeines EE 5
S allgemeine Frage zu Spring (AOP) Allgemeines EE 2
G Allgemeine Java Web Service Frage Allgemeines EE 4
O Java EE in Netbeans + allgemeine Fragen Allgemeines EE 5
P Allgemeine Vorgehensweise Locking Allgemeines EE 5
B Allgemeine Fragen zu JSP JSF Allgemeines EE 4
pkm Frage zu karaf-Tutorium zum Programmieren von Service und Consumer Allgemeines EE 3
A Frage Umfang JEE Allgemeines EE 5
J Frage zu Dependecy Injection Allgemeines EE 10
pkm Frage zu Get- bzw. Postrequest in JSP. Allgemeines EE 1
pkm Frage wegen AJAX-Zugriff auf ein Servlet Allgemeines EE 1
Tort-E Grundsätzliche Frage -> Lokale Installation Allgemeines EE 2
E Frage zu Wildfly und Hibernate OGM Allgemeines EE 0
S Frage zu Jersey + Hibernate Allgemeines EE 1
Shams Frage zu Dowload von JAVA SDK Allgemeines EE 5
J Frage zur Projektarchitektur Allgemeines EE 2
E Generelle Frage zu CDI mit JBoss AS 7.1.1 and Jave EE 6 Allgemeines EE 4
NoXiD JSF Frage zu Datenstruktur Allgemeines EE 2
S EJB Frage Allgemeines EE 10
2 Frage zu JNDI Allgemeines EE 13
E Entities im JSF/GUI-Layer, Frage zu 3-Layer-Model Allgemeines EE 2
B Wicket, Hibernate, H2 memDB Anfänger Frage Allgemeines EE 2
G Architektur- Frage Allgemeines EE 5
P Frage zu Java EE Design Patterns Allgemeines EE 3
M Frage zu Einloggen/Ausloggen - Features Allgemeines EE 4
M Frage zum Einsatz eines loggers Allgemeines EE 2
T Einstieg JEE: Frage für Frage bis zum Erfolg :-) Allgemeines EE 28
P Allg. Frage Eclipse EE & Xml Allgemeines EE 2
D Frage zum Statefull Session Beans Lebenszyklus Allgemeines EE 3
S JSTL / Spring Webflow Frage Allgemeines EE 2
S jsp include Frage Allgemeines EE 2
B Tomcat Manager - .war Datei hochladen. Einfache Frage Allgemeines EE 5
S Frage zu Taglib und Expression Language Allgemeines EE 5
B J2EE Frage Allgemeines EE 4
F Verständnis-Frage zu den vielen Frameworks Allgemeines EE 17
D Frage zum Verlassen eine JSF-Eingabefeldes Allgemeines EE 6
D Frage zu DataModel, DataModelSelection und Seam Allgemeines EE 3
H Frage zu JSF Allgemeines EE 5
G Generelle Java EE Frage zum Einstieg Allgemeines EE 3
N JSF - Frage zu Managed Beans und DataTable Allgemeines EE 4
S Frage zu JSF und MyFaces Komponenten: Teilbereiche neu laden Allgemeines EE 2
P Eine Frage zum Thema Applikationsaufbau Allgemeines EE 3
F [Hallo] Frage zu Hibernate Mapping und Vererbung Allgemeines EE 3
J Frage zu Jboss Allgemeines EE 7
G Anfänger-Frage: EJB Programmierung bzw. Konfiguration Allgemeines EE 6
M jsf Design Frage Allgemeines EE 3
J jsp:useBean Frage Allgemeines EE 4
megachucky JPA - Query.getResultList() Frage Allgemeines EE 3
M Hibernate Criteria frage Allgemeines EE 2
1 Frage zu Struts und findForward Allgemeines EE 4
D Frage SSL und nicht SSL Allgemeines EE 3
E Warum geht das nicht (EL Frage)? Allgemeines EE 3
T Design/Performance-Frage beim servlet (static oder nicht) Allgemeines EE 35
E forEach Loop EL - Frage Allgemeines EE 2
G Design Frage Allgemeines EE 2
A EJB-Design Frage Allgemeines EE 2
F Frage zur guten Architektur einer WebApp Allgemeines EE 2
thE_29 Allg. Frage zu JSP/Servlets Allgemeines EE 2
flashfactor Frage zu Session-Lebensdauer Allgemeines EE 3
A Frage zu Servlets Allgemeines EE 5
P generelle Frage zum RequestDispatcher Allgemeines EE 2
W Authentifizierung und Sessions in Java EE7 Allgemeines EE 0
N Glassfish 4 JDBC-Realm Authentifizierung Beispiel gesucht Allgemeines EE 7
S JBoss 7 Authentifizierung: "No principals available" Allgemeines EE 3
E IIS-Servern Authentifizierung erforderlich Allgemeines EE 2
M HTTP Authentifizierung weiter geben Allgemeines EE 4
remus JBoss Authentifizierung mit MYSQL-Datenbank Allgemeines EE 4
G Tomcat und Apache Authentifizierung koppeln Allgemeines EE 3
J JSF: Authentifizierung für einen einzigen Fall "umgehen Allgemeines EE 6
D Windows Benutzer Authentifizierung Allgemeines EE 11
B NTLM-Authentifizierung Allgemeines EE 6

Ähnliche Java Themen

Neue Themen


Oben