Я пытаюсь использовать хэширование для тестового примера в tomcat-users.xml. (Я планирую по реализации подкласса одного из классов Realm сделать реальную проверку подлинности с аудитом, регистрацией и т.д.) я выполнил командуHashing tomcat пароли
$TOMCAT_HOME/bin/digest.sh -a sha secret
и получил результат «секрет: e5e9fa1ba31ecd1ae84f75caaa474f3a663f05f4». Я вставил это в
<user password="e5e9fa1ba31ecd1ae84f75caaa474f3a663f05f4" roles="test" username="tester"/>
линия. Я добавил соответствующие магические слова в свой web.xml для использования аутентификации DIGEST для сервлета (role = test), но когда я пытаюсь войти в систему, я получаю ошибку 401.
Я «смотрел» транзакции с wirehark, и, похоже, браузер отправляет все правильные ответы.
Я делаю это правильно? Мне кажется, что дайджест-аутентификация отправит обратно MD5 («username: realm: password»), поэтому нет возможности для tomcat сравнивать значение, хранящееся в файле tomcat-users.xml со значением, отправленным браузером, так как это потребует либо «развязывания» значения пароля от tomcat-users.xml, либо «username: realm: password».
Следует ли вместо этого хранить хэш «имя пользователя: царство: пароль»?