Как настроить удаленного пользователя в Tomcat? [дубликат]


Возможный дубликат:
получение значения из HttpServletRequest.getRemoteUser() в Tomcat без изменения приложения

Краткая версия: как настроить Tomcat на использование определенного имени (скажем, "johndoe") в качестве имени удаленного пользователя?

Подробности: я работаю над веб-приложением Java, которое будет развернуто в производство с помощью Tomcat. Рабочий сервер настроен так, чтобы запрашивать у пользователя аутентификацию до того, как он достигнет ее. это приложение, поэтому приложение должно будет использовать только что-то вроде метода javax.servlet.http.HttpServletRequest getRemoteUser(), чтобы получить имя пользователя. На самом деле это работает очень хорошо. Это уже было проверено.

Проблема заключается в том, что нецелесообразно (по разным причинам) устанавливать этот процесс аутентификации на моей машине разработки. Я также хотел бы избежать добавления специального кода в приложение только для того, чтобы приспособить мое локальное тестирование. Я подумал, что было бы лучше, если бы я мог просто заставить имя пользователя, которое я хочу тест с конфигурацией into Tomcat. Тогда getRemoteUser() будет возвращать "johndoe" каждый раз. Конечно, в производственной среде это имя пользователя не будет принудительно введено в среду, вместо этого будет выполняться фактический процесс аутентификации.

Однако я не могу понять, как настроить это имя пользователя в Tomcat. Есть предложения?
2 2

2 ответа:

Получение значения из HttpServletRequest.getRemoteUser() в Tomcat без изменения приложения - Этот ответ содержит Valve, который делает именно это. Он работает с Tomcat, протестирован с Tomcat 6 и Tomcat 7.

Получение значения из HttpServletRequest.getRemoteUser () в Tomcat без изменения приложения - Этот другой ответ также может быть полезен. Речь идет о файловой области, которая также требует некоторой конфигурации сервера Tomcat, но без каких-либо кодирование.

Первое, что приходит мне в голову, - это реализовать свой собственный Valve и изменить запрос во время выполнения, чтобы добавить имя пользователя, которое вы хотите для аутентификации.

Вы будете использовать это Valve только в своей среде разработки для тестирования.