Моя цель - аутентифицироваться в базе данных с помощью JDBC / Hibernate безопасным способом, без хранения паролей в виде обычного текста. Примеры кода приветствуются. Я уже использую waffle для аутентификации пользователя, поэтому, если бы существовал способ использовать учетные данные, которые были получены от пользователя, и перенаправить их в БД, это было бы хорошо.
Два вопроса:
Я нашел полезную информацию о подключении к SQL Server в этом потоке . Однако я ожидаю, что Tomcat будет работать под учетной записью по умолчанию, такой как Local System или что-то в этом роде. Насколько мне известно, эту учетную запись нельзя использовать для проверки подлинности Windows в базе данных.
Мое решение :
В конечном итоге я использовал подход, упомянутый в приведенном выше потоке. Вместо того, чтобы запускать службу Tomcat как локальную систему, теперь она работает как пользователь. У этого пользователя есть разрешение на доступ к базе данных. Мой файл конфигурации гибернации настроен следующим образом:
jdbc:sqlserver://system:port;databaseName=myDb;integratedSecurity=true;
Тем, кто предоставил ответы
Я благодарен всем за помощь, и я опробую некоторые методы, упомянутые в теме. Моя проблема с некоторыми ответами заключается в том, что они требуют симметричного шифрования, для которого требуется секретный ключ. Хранение ключа в секрете - почти такая же проблема, как и сохранение пароля в виде обычного текста.