Для внутреннего приложения Tomcat/Java/Struts мы преобразовываем специально написанный код проверки подлинности для использования JDBCRealm. База данных — MySQL 5.0, а пароли хранятся в виде PASSWORD()
зашифрованных строк. В нашей версии MySQL функция PASSWORD()
нестандартный (собственный?) 41-байтовый хэш. (Теперь я знаю, что мы не должны использовать его для наших паролей, а вместо этого должны использовать SHA1()
или MD5()
. Но вот мы здесь.)
Есть ли способ использовать JDBMRealm, не заставляя всех наших пользователей повторно вводить свои пароли, чтобы мы могли их перекодировать? Существует ли дайджест JDBCRealm, который позволит нам аутентифицироваться по столбцу пароля, закодированному PASSWORD()
?