Glassfish Custom Realm (oder wie auch immer man das löst)

CQQL

Mitglied
Hallo,
ich möchte für meine WAR eine Benutzerauthentifizierung auf Glassfish implementieren. Dafür muss ich ja einen Realm erstellen und die WAR entsprechend konfigurieren. Das letzte hab ich auch fertig und funktioniert auch alles mit dem file-Realm. Jetzt soll das ganze natürlich eine DB als Backend bekommen. Also denk ich mir (dachte ich mir vor mittlerweile 3 Tagen), JDBCRealm hört sich ja super an. Aber nix da. Ähm, wer verwendet denn so eine DB-Struktur um Benutzer und Gruppen abzubilden? Also hab ich mich dann als fröhliche googlen gemacht, aber scheinbar ist die Antwort auf meine Frage wohl "Jeder außer mir", weil es gibt nirgendwo eine Lösung dazu zu lesen oder einen einfachen Custom Realm, den man konfigurieren kann. Optimalerweise gäbe es eine Möglichkeit, dass ich einen Realm in mein EAR packen kann, der dann zum Authentifizieren auch noch auf meine EJBs zugreifen könnte. Ist das möglich? Wie machen es alle anderen? Und ich habe mir sogar schon Spring Security angetan und ausprobiert, aber das verträgt sich halt nicht so besonders toll mit EJBs.

Danke im voraus,
CQQL
 

CQQL

Mitglied
Eigentlich möchte ich, wie im ersten Link, eine DB benutzen. Das Problem ist aber, dass ich ein Many-To-Many-Mapping zwischen Benutzern und Gruppen habe, also mit einer Link-Tabelle. Mit dieser Struktur lässt sich aber JDBC-Realm nicht verwenden. Außerdem habe ich gelesen, dass dieser ausgelesene Werte unendlich lange cacht, was bei mir jetzt auch nicht passt. Der einzige Weg, JDBCRealm zu verwenden, wäre diese 2. Tabelle über einen View zu "erstellen".

Dann werd ich wohl doch einen eigenen Realm implementieren müssen. Aber ist das normal? Muss man das für jedes Projekt machen? Hat nicht irgendjemand mal soetwas wie eine abstrakte Implementierung geschrieben, die man nur noch konfigurieren muss und die etwas offener zu DB-Strukturen ist als der vorgegebene Realm? Wie machen das denn die Leute, die selber Realms in ihren Projekten verwenden? Schreiben die sich immer selber einen?
 

DerFeivel

Bekanntes Mitglied
Hi,


da kommen wir der Lösung doch schonmal ein Stück näher. :)
Da es diese Art der Realms in anderen Applikationsservern(JBoss z.B.) gibt, hat sich die Arbeit auf jeden Fall schonmal jemand gemacht.

Hast du flexiblejdbcrealm hier :

Flexible JDBC Realm - overview

mal probiert?

Dort kannst du Benutzer-Passwort und die Benutzer-Groupen Zuordnung über jeweils ein PreparedStatement-Query ermitteln lassen (also wie im JBossAS).
Wie du Sie benutzt ist dort eigentlich auch sehr gut erklärt.


Das die Standard-JDBCRealm unendlich cached steht dort auch (???:L Wer auf solche Modelle kommt ???:L)


Wie machen das denn die Leute, die selber Realms in ihren Projekten verwenden? Schreiben die sich immer selber einen?

Die benutzen die vorgefertigten Realms, bauen ihr Datenmodell um oder wechseln im Zweifelsfall zu anderen Applikationsservern (naja, Ausfall ist hier ja nicht wirklich groß ^^)
 

CQQL

Mitglied
Den FlexibleJDBCRealm hab ich auch gefunden, wenn auch erst am Ende meiner Recherchen und dann auch nur durch Zufall. Den werd ich ausprobieren. Aber ich wollte halt wissen, wie das sonst gelöst wird. Ich hatte gehofft, dass es eine Möglichkeit gäbe, meinen Realm direkt in mein EAR zu packen und auf meine EJBs zuzugreifen.

Aber danke, dass du dich überhaupt dazu geäußert hast :)
 

FArt

Top Contributor
Ich hatte gehofft, dass es eine Möglichkeit gäbe, meinen Realm direkt in mein EAR zu packen und auf meine EJBs zuzugreifen.

Bei JBoss geht das, aber das könnte eine AS-spezifische Funktionalität sein. Dort werden die Realms in der login-config.xml des Servers global definiert (zumindest bis JBoss 6, JBoss 7 weiß ich gerade nicht). Man kann aber auch weitere login-config.xml Dateien (z.B. mit der Applikation) deployen und dort verwenden.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
thor_norsk Glassfish Server unter Windows startet nicht! Allgemeines EE 20
M Glassfish Deployment-Problem unter Eclipse Allgemeines EE 0
FINF_AW_Alex remote Glassfish Library unverträglichkeit Allgemeines EE 0
J JSF Glassfish jdbcRelam und Oracle-Datenbank - WEB9102: Web Login Failed Allgemeines EE 0
Yamanuchi Glassfish 4 : Client Anzahl restriktieren Allgemeines EE 2
N Glassfish 4 JDBC-Realm Authentifizierung Beispiel gesucht Allgemeines EE 7
C Komplettes Durcheinander / Locales OSX/Linux Glassfish Allgemeines EE 3
A Probleme bei der Einbindung eines Liferay Portalserver (Glassfish) Allgemeines EE 7
D [Glassfish EJB] OneToMany geht nicht Allgemeines EE 7
H Bean läuft unter GlassFish, aber JBoss nicht Allgemeines EE 5
ruutaiokwu glassfish library konflikte vermeiden? Allgemeines EE 3
H Glassfish - Open Source Lizenz für den kommerziellen produktiven Einsatz? Allgemeines EE 2
S Glassfish: Deployment von Realms Allgemeines EE 2
L Eclipse (Helios); Glassfish 3; EJB und VirtualBox Allgemeines EE 1
F Java EE Server nutzung kostenlos an Schule? (zB. mit Glassfish) Allgemeines EE 6
T Auf GlassFish JDBC-Ressourcen zugreifen Allgemeines EE 4
T MS SQL Server, GlassFish, JDBC Allgemeines EE 2
M Fehler bei Javamail Session mit Glassfish 3 Allgemeines EE 3
M Problem mit Lookup auf EJB3 mit Glassfish Allgemeines EE 11
D Debug Modus im Glassfish 2.1 plötzlich nicht mehr möglich Allgemeines EE 2
D Glassfish 3 ohne Cluster Support? Allgemeines EE 1
musiKk Glassfish: Properties zur Laufzeit... wohin? Allgemeines EE 6
Semox Ist Glassfish auch ein Webserver? Allgemeines EE 26
K Glassfish Application Client Allgemeines EE 4
B Glassfish, Sjsas und wie sich das Teil noch nennt . . Allgemeines EE 8
B GlassFish & JAAS - Konfiguration für AppClient Allgemeines EE 1
Q Form Based Authentication erweitern? Custom JDBCRealm!?! Allgemeines EE 14
S JSF - Custom converter Problem Allgemeines EE 3
R Custom Tag zum Parsen Allgemeines EE 3
M custom tags - dynamische Attributwerte Allgemeines EE 2
clemson [JSP] Custom Tag Allgemeines EE 10
FINF_AW_Alex JSF JDBC - Realm - Benutzer authentifizieren Allgemeines EE 10
B Tomcat JNDI-Realm - LDAP mit Windows testen? Allgemeines EE 2

Ähnliche Java Themen

Neue Themen


Oben