jdbc-Realm mit Glassfish v3: Realm-Eigenschaften und Konfigurationsfehler

8

Ich habe das folgende Datenbankschema (MySQL):

Mein Login ist ein formularbasiertes Authentifizierungssystem, zu dem ich versuche, einen jdbc-Realm zu erstellen.


Meine web.xml:

%Vor%

Und die Zuordnungen in sun-web.xml:

%Vor%

Ich weiß nicht warum, aber es funktioniert nicht für mich, ich bekomme Folgendes:

%Vor%

Mache ich die "genauen" Eigenschaften basierend auf dem Datenbankschema, das ich habe? Ich würde deine Hilfe schätzen, weil ich nicht verstehen konnte, was ich falsch mache.

UPDATE

Dies gilt für alle, die dasselbe Szenario haben.

Basierend auf @perissf unterstützt GlassFish JDBC Realm keine normalisierten Tabellen. Überprüfen Sie @ perissf's Link für ein Tutorial, wie das Schema sein soll.
Was ich jedoch tat ist: Ich behielt das normalisierte Schema und erstellte eine MySQL- "Sicht", die alle erforderlichen Spalten enthielt: zB Spalten [Benutzername, Pass, Gruppenname]

- & gt; Und ich habe die Jdbc-Eigenschaften wie folgt geändert:

Der Grund für die Verwendung einer "Ansicht" ist, wie @Matt Handy sagte "JdbcRealm erfordert, dass der Name der Benutzernamenspalte in der Benutzertabelle und in der Gruppentabelle identisch sein muss" Das erzeugt in meinem Fall doppelte Daten, also habe ich eine Ansicht verwendet.

    
shadesco 20.02.2012, 03:56
quelle

2 Antworten

8

Leider unterstützt GlassFish JDBC Realm keine normalisierten Tabellen für Benutzer und Gruppen. Ich schätze, dass dein Problem da ist. Sehen Sie sich dieses Tutorial an und ändern Sie Ihre Tabellen entsprechend.

    
perissf 20.02.2012, 08:25
quelle
1

Zusätzlich zur Antwort von perissf: JdbcRealm erfordert, dass die Spalte für den Benutzernamen in der Tabelle User und in der Gruppentabelle identisch sein muss. em> (dies ist die Tabelle, die Benutzer Gruppen zuordnet). Daher benötigt Ihre Tabelle user_info eine Spalte userName anstelle von user_id .

    
Matt Handy 20.02.2012 09:18
quelle