Есть ли в tomcat поддержка JDBCRealm, которая принимает соль? - PullRequest
7 голосов
/ 08 июня 2011

В настоящее время мы используем tomcat 5.5 и хотели бы добавить соль в нашу аутентификацию JDBCRealm. Мне было интересно, существуют ли какие-либо существующие классы или нам нужно расширить JDBCRealm и написать собственный класс аутентификации?

В нашем файле server.xml

имеется следующее
<Realm className="org.apache.catalina.realm.JDBCRealm" ...more stuff… />

Но, похоже, этот класс не принимает соль.

Ответы [ 3 ]

3 голосов
/ 28 февраля 2012
  1. Напишите свой собственный JDBCRealmWithSalt класс, который расширяет JDBCRealm class
  2. Перезаписать digest() метод (добавьте сюда соль)
  3. Положить JDBCRealmWithSalt в catalina.jar:org/apache/catalina/realm
  4. <Realm className="org.apache.catalina.realm.JDBCRealmWithSalt"...>
1 голос
/ 24 января 2012

Нет существующих классов, как во встроенных в API-интерфейсы Tomcat 5.5, поэтому вам придется использовать пользовательские.

Один пример можно найти на http://eneuwirt.de/2011/05/01/saltawarejdbcrealm/

0 голосов
/ 14 августа 2016

Начиная с Tomcat 8 для любой поставляемой готовой области вы можете указать:

  • желаемый алгоритм
  • кодировка, которая будет использоваться
  • salt
  • количество итераций
  • длина ключа

Вы можете указать их в CATALINA_HOME/bin/digest.[bat|sh]

Для получения дополнительной информации: https://tomcat.apache.org/tomcat-8.0-doc/realm-howto.html

...