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.
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.
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
.
Tags und Links mysql servlets jdbc glassfish-3 jdbcrealm