Authentifizierung und Sessions in Java EE7

Status
Nicht offen für weitere Antworten.

weizenhuhn

Neues Mitglied
Hallo liebes Java Team!

Ich verwende:
Java EE7
Applikationsserver: Wildfly
Build-Tool: Maven
Datenbank: JPA Hibernate H2
IDE: Eclipse Luna

Meine Aufgabenstellung:
Einen Newsfeed zu erzeugen für zwei verschiedene User: Publisher (News erzeugen) und Reader (News ansicht).

Meine Frage:
Wie erstellt man denn am besten einen Login und biete zwei verschiedene Ansichten, für die selbe index.xhtml an?


Ich habe eine abstrakte Klasse User erstellt und davon Publisher und Reader abgeleitet, da der username der Primary Key sein soll. Es ist auch schon möglich User zu registrieren indem man username und PAsswort eingibt und anschließend eine Rolle wählt. In meiner Klasse Usercontroller wird dynamisch entschieden ob eine Instanz von Reader oder Publisher erzeugt wird und anschließend persistiere ich den User in der Datenbank. Dies klappt soweit, allerdings weiß ich nicht, wie ich nun zuvor eine Authentifizierung erstelle und mit Sessions arbeiten kann?

Aus einem Buch habe ich eine Methode gefunden, in der man in der standalone.xml eine <Security-Domain> erzeugt. Allerdings weiß ich hier nicht genau, welche Query-Abfrage ich hier bei <module-option name="rolesQuery"> machen kann?
Auf einer anderen Seite (JSF 2 Login Filter Example - Programmer's lounge ) habe ich eine Möglichkeit mit einem Login-Filter gefunden. Was ist denn jetzt die bessere Lösung?

Ich wäre für jede Hilfe sehr dankbar und würde mich auch über Links zu guten Tutourials dazu freuen.


einige Code Auszüge:
user.java #10083322 - Pastie
userController.java #10083324 - Pastie
register.xhtml Private Paste - Pastie
lg
 
Zuletzt bearbeitet:

Oneixee5

Top Contributor
Ich kann mich nur bedingt zum Wildfly äußern aber für Login bzw. Security gibt es Standards. Es ist natürlich möglich mit Filtern da etwas selbst zu basteln, aber nicht empfohlen.
Das Vorgehen ist eigentlich ganz einfach. Du legst in der web.xml entsprechende Einträge an. Hie mal vereinfacht:
Java:
  <security-constraint>
    <display-name>Security Constraint</display-name>
    <web-resource-collection>
      <web-resource-name>Protected Area</web-resource-name>
      <url-pattern>/test/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
      <role-name>administrators</role-name>
      <role-name>developers</role-name>
    </auth-constraint>
  </security-constraint>
  <login-config>
    <auth-method>BASIC</auth-method>
    <realm-name>Authentication Area</realm-name>
  </login-config>
  <security-role>
    <role-name>administrators</role-name>
  </security-role>
  <security-role>
    <role-name>developers</role-name>
  </security-role>
Dein Java-Server muss laut Standard ein Möglichkeit bieten security-role zu konfigurieren/füllen. Ich verwende da meist die LDAP-Config und binde unser Active Directory an. Datenbanktabellen sind aber bei meinem JEE-Server auch möglich. Bei mir gibt es da einen Wizard mit Vorbelegungen. Das ist dann die Stelle, welche im vom Wildfly nicht kenne.
Im Prinzip wird jedem Nutzer ein oder mehrere 'security-role' zugewiesen (z.B. Datenbank, AD, LDAP) und in der Anwendung wird dann deiner URL/Endpunkt ebenfalls ein oder mehrere 'security-role' zugewiesen (i.d.R. einfach per Annotation). Wenn der Nutzer dann über eine Rolle des Endpunktes verfügt, dann darf er da zugreifen.
Das Prinzip ist also ziemlich simpel und sicher, wenn man sich daran hält. Es gibt da eig. nichts zu programmieren - außer für die Registrierung der Nutzer, wenn man das intern machen möchte.

Die Anpassung der Seite an den Nutzer oder auch einzelner Komponenten erfolgt dann innerhalb deiner Anwendung - wie auch immer du das machen willst - JavaScript, dynamisches HTML oder wie auch immer.

 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Glassfish 4 JDBC-Realm Authentifizierung Beispiel gesucht Allgemeines EE 7
S JBoss 7 Authentifizierung: "No principals available" Allgemeines EE 3
G Allgemeine Frage zu Authentifizierung mittels Servlet API Allgemeines EE 2
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
L Sessions - Unterschiedlich in verschiedenen Klassen? Allgemeines EE 4
T Tomcat: Sessions bleiben zu lange erhalten Allgemeines EE 13
R auf der Suche nach dem Fehler,Sessions + Arrays Allgemeines EE 4
L sessions mit servlet oder jsp ? Allgemeines EE 9
B Attribute aus anderen Sessions untersuchen bzw. vergleichen Allgemeines EE 4
P Sessions von Hand erstellen und zerstören Allgemeines EE 3
D Sessions über mehrer wars ansprechen Allgemeines EE 3
W PHP Sessions mit JSP aulesen??? Allgemeines EE 3
T Java ServerFaces Anwendung mit XHTML & CSS Allgemeines EE 1
E modulare Java-Anwendung verteilen (Camel) Allgemeines EE 0
B Java Mail und idle() mit zig Emailadressen? Allgemeines EE 59
H JWebUnit Fehler: java.lang.NoClassDefFoundError: org/apache/regexp/RESyntaxException Allgemeines EE 24
B Java mail API - möchte nur eine gewisse Anzahl von Emails in die Liste holen Allgemeines EE 3
M Rest mit Java 11 Allgemeines EE 6
M java.lang.SecurityException: class "javax.persistence.TupleElement"'s signer information does not match ... Allgemeines EE 1
F Java Programmierer Allgemeines EE 13
R Wie viel DevOps sollte ein Java-Entwickler kennen, der sich in Microservices spezialisiert? Allgemeines EE 5
Dimax JSP Probleme mit Java in JSP Allgemeines EE 21
Dimax JSP Auf button click java methode ausführen.Ist das möglich? Allgemeines EE 6
B Logging (log4j) in JAVA EE application - WildFly Allgemeines EE 15
A Java EE (am Cleint) und websocket Allgemeines EE 8
J Ich kann Java JDK nicht downloaden Allgemeines EE 6
R Aufbau zum Java EE Entwickler - Schulungen Allgemeines EE 0
G Java EE Hosting ? Allgemeines EE 6
P Java EE Videotutorials Allgemeines EE 1
R Java Enterpise entwickeln mit Virtualbox Allgemeines EE 6
A OutOfMemoryError: Java heap space Allgemeines EE 7
I Start Word from Java Allgemeines EE 1
T Java Jersey Interceptor Allgemeines EE 7
R Post Variable in Java Allgemeines EE 8
L JSP Fehlermeldung bei Verwendung von Java-Expression-Language Allgemeines EE 8
K Wie habt ihr Java EE gelernt? Allgemeines EE 11
hjpsoft JSF Lösung einer Aufgabe im "Workshop Java EE7" Allgemeines EE 5
S Welcher Java EE Applikationserver für RESTful Webservice? Allgemeines EE 2
T Java Login Allgemeines EE 1
L Certified Master Java Enterprise Architect Java EE Allgemeines EE 3
R Java EE 6, eclipse, maven, jsf, hibernate, mysql Allgemeines EE 8
D Einfaches Java Projekt funktioniert nicht Allgemeines EE 3
OnDemand Task in Java ee Allgemeines EE 7
OnDemand JSF - java File Verständnisfrage Allgemeines EE 5
OnDemand Deployen ohne .java Files Allgemeines EE 0
E Wie kann ich über einen Suchfeld in Java Server Pages nach Datenbankinhalten suchen? Allgemeines EE 11
V Java EE 7 CDI, annotations und beans Allgemeines EE 1
G Bachelorthesis: Java oder PHP (CMS) Allgemeines EE 7
X Konsolenausgabe einer java klasse in eine jsp umleiten Allgemeines EE 7
S Aufruf eines EJBs aus einer nativen Java-Applikation Allgemeines EE 1
T Fertiges html javascrip css template in java EE application Allgemeines EE 0
F Eclipse/Java EE Debug-Problem Allgemeines EE 1
D Java Projekt goes Webservice Allgemeines EE 6
L Button Handling in JSP mit Java-Backend Allgemeines EE 2
Shams Frage zu Dowload von JAVA SDK Allgemeines EE 5
T Größeres Java EE Beispiel Projekt Allgemeines EE 4
N JavaScript schickt und Java empfängt? Allgemeines EE 4
O Java EE in Netbeans + allgemeine Fragen Allgemeines EE 5
H java selenium spezis? Allgemeines EE 4
H java selenium test connection refused Allgemeines EE 6
M Java EE-Technologie-Lern-Wahl Allgemeines EE 5
B [EJB] javax.inject.DefinitionException: bean not a Java type Allgemeines EE 5
J Java Dependencies auslesen Allgemeines EE 19
2 installation java EE Allgemeines EE 12
J PHP oder Java? Allgemeines EE 12
L Webseiten Formulare über Java Oberfläche ausfüllen? Allgemeines EE 2
T Java CMS Entwicklung : Welcher Weg ist besser? Allgemeines EE 9
F Gesucht: Gratis Server für Java Entwickler Allgemeines EE 4
J Einstieg in Java EE Allgemeines EE 5
aze Eclipse Java EE Web Project:Wo liegen die Servlets ? Allgemeines EE 4
S java Entities Problem Allgemeines EE 19
D Grundüberlegung Java Webprojekt Allgemeines EE 10
F Einstieg in Java EE - Beispielanwendungen Allgemeines EE 52
R JAVA EE - eigene Klassen aus EJB übernehmen Allgemeines EE 2
T "normales" Java Programm auf einen Server laufen lassen Allgemeines EE 3
M EE6+EJB+JavaLib: Error in annotation processing: java.lang.NoClassDefFoundError Allgemeines EE 4
G java ResourceLocator Allgemeines EE 12
M Was ist mit Java möglich? Allgemeines EE 13
T Komponenten zusammenhänge Java EE Allgemeines EE 7
A Java CMS Allgemeines EE 2
P Architektur Java EE <-> HTML5 Allgemeines EE 3
A Java Tomcat findet Website nicht Allgemeines EE 8
F Java EE Server nutzung kostenlos an Schule? (zB. mit Glassfish) Allgemeines EE 6
B Java EE, kickstart my heart Allgemeines EE 10
P Frage zu Java EE Design Patterns Allgemeines EE 3
G EJB und Java EE - No Persistence provider Allgemeines EE 5
zilti Java EE Hosting, worauf muss ich achten? Allgemeines EE 5
M Java EE6: Wie Login-Vorgang durchführen? Allgemeines EE 2
MQue Java Web- Application -> MVC Allgemeines EE 4
G Java <-> Flex Allgemeines EE 2
Spin Ant - Java Beans umsetzen Allgemeines EE 4
V "null" durch NICHTS ersetzen jsp und java beans Allgemeines EE 3
M Serialisierung und Klonen in Java Allgemeines EE 5
W JAVA Optionen auslesen Allgemeines EE 3

Ähnliche Java Themen

Neue Themen


Oben