2016-03-19 17 views
0

Ich möchte Java-Sicherheit mit JDBC-Realm für Protokollierung und Autorität verwenden. Ich benutze GlassFish Server 4.1 und mache alle Konfig im Zusammenhang mit JDBC-Realm, Datenquelle und Verbindungspool.Auch konfiguriere ich web.xml und sun-web.Anmeldung mit JDBC Realm in GlassFish 4.1/Java EE 7

ich erstellen zwei Tabellen:

CREATE TABLE USERS (
    `USERID` VARCHAR(255) NOT NULL, 
    `PASSWORD` VARCHAR(255) NOT NULL, 
    PRIMARY KEY (`USERID`) 
); 

CREATE TABLE USERS_GROUPS (
    `GROUPID` VARCHAR(20) NOT NULL, 
    `USERID` VARCHAR(255) NOT NULL, 
    PRIMARY KEY (`GROUPID`) 
); 

Ich glaube, ich alle erforderlichen Änderungen zu tun, aber wenn ich mich anmelden, geht jedes Mal Fehlerseite

Mein Jdbc Relam anmelden:

enter image description here

sha Algorithmus, den ich verwendete:

try { 
     MessageDigest md = MessageDigest.getInstance("SHA-256"); 
     String text = "admin"; 
     md.update(text.getBytes("UTF-8")); // Change this to "UTF-16" if needed 
     byte[] digest = md.digest(); 
     BigInteger bigInt = new BigInteger(1, digest); 
     String output = bigInt.toString(16); 

     System.out.println(output); 

    } catch (NoSuchAlgorithmException | UnsupportedEncodingException ex) { 
     Logger.getLogger(PasswordTest.class.getName()).log(Level.SEVERE, null, ex); 

    } 

Antwort

2

Es gibt kein Feld namens username in der Tabelle USERS und groupname in der Tabelle GROUPS, aber Sie verweisen auf sie in der JDBC-Realmverwaltung. Oder verweisen Sie auf userid und groupid oder ändern Sie die Feldnamen in Benutzername und Gruppenname.