Веб-конфигурация jasypt с использованием WebPBEConfigServlet - где хранится пароль?
В документации по конфигурации Jasypt для http://jasypt.org/webconfiguration.html указано следующее:
URL-адрес этого сервлета должен вызываться администратором веб-приложения во время развертывания для установки паролей всех шифровщиков PBE...
Из документации мне не понятно следующее:
1) Где хранятся пароли, которые вводятся через веб-приложение? Они хранятся в памяти или где-то еще?
2) Нужно ли вводить пароли только при развертывании приложения? Что произойдет, если сервер приложений (или JVM) будет перезапущен, нужно ли повторно вводить пароли?
3) Можно ли использовать конфигурацию jasypt для нескольких веб-приложений? Если при повторном запуске сервера приложений /JVM требуется повторный ввод паролей, и у меня развернуто много приложений, разработчикам моих приложений не понравится повторный ввод паролей несколько раз.
1 ответ
1) Пароли хранятся в контексте веб-приложения (т. Е. Во внутренней памяти экземпляра приложения)
2) Да, их нужно устанавливать только во время процесса развертывания. Но вы должны прояснить тот факт, что при перезапуске сервера приложений все экземпляры приложений в нем будут перераспределены. В результате вы должны снова ввести пароли.
3) Исходя из пункта 1, пароли хранятся во внутреннем контексте приложения, поэтому они не могут быть использованы другим приложением (хотя, я думаю, это зависит от типа приложений, которые вы реализуете, если они разделяют такой контекст). Более того, если вы перезапускаете сервер приложений, и все ваши приложения находятся внутри него, то все они будут повторно развернуты. Это имело бы смысл, только если ваши экземпляры совместного использования находятся на разных серверах, и я не знаю, возможно ли это (или рекомендуется).
Резюме: да, вы должны повторно вводить пароли, но обычно в производственной среде вы не будете делать много повторных развертываний. Даже если вы не используете этот тип конфигурации, перезагрузка будет временной проблемой для клиента.