Вход с помощью JDBC Realm в GlassFish 4.1 / Java EE 7

Я хочу использовать безопасность Java с использованием области JDBC для ведения журнала и полномочий. Я использую сервер 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:

введите описание изображения здесь

алгоритм 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);

    }

person John    schedule 19.03.2016    source источник


Ответы (1)


В таблице USERS нет поля с именем username, а в таблице GROUPS - имя группы, но вы ссылаетесь на них в области администрирования JDBC. Или обратитесь к идентификатору пользователя и группе или измените имена полей на имя пользователя и имя группы.

person The Bitman    schedule 22.03.2016