在GlassFish 4.1 / Java EE 7中使用JDBC Realm登录

时间:2016-03-19 15:42:55

标签: java-ee login glassfish java-ee-7 jdbcrealm

我想使用JDBC领域的java安全性来记录和授权。 我使用GlassFish服务器4.1并执行与JDBC领域,数据源和连接池相关的所有配置。还要配置web.xml和sun-web。

我创建了两个表:

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`)
);

我想我会做所有必需的更改,但是当我登录时,每次进入登录错误页面

我的Jdbc Relam:

enter image description here

我使用的

sha算法:

 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);

    }

1 个答案:

答案 0 :(得分:2)

USERS表中没有名为username的字段,GROUPS表中没有groupname,但您在JDBC领域管理中引用它们。或者参考userid和groupid或将字段名称更改为用户名和组名。