Как настроить удаленного пользователя в Tomcat? [дубликат]
Возможный дубликат:
получение значения из HttpServletRequest.getRemoteUser() в Tomcat без изменения приложения
Краткая версия: как настроить Tomcat на использование определенного имени (скажем, "johndoe"
) в качестве имени удаленного пользователя?
Подробности: я работаю над веб-приложением Java, которое будет развернуто в производство с помощью Tomcat. Рабочий сервер настроен так, чтобы запрашивать у пользователя аутентификацию до того, как он достигнет ее. это приложение, поэтому приложение должно будет использовать только что-то вроде метода javax.servlet.http.HttpServletRequest
getRemoteUser()
, чтобы получить имя пользователя. На самом деле это работает очень хорошо. Это уже было проверено.
Проблема заключается в том, что нецелесообразно (по разным причинам) устанавливать этот процесс аутентификации на моей машине разработки. Я также хотел бы избежать добавления специального кода в приложение только для того, чтобы приспособить мое локальное тестирование. Я подумал, что было бы лучше, если бы я мог просто заставить имя пользователя, которое я хочу тест с конфигурацией into Tomcat. Тогда getRemoteUser()
будет возвращать "johndoe"
каждый раз. Конечно, в производственной среде это имя пользователя не будет принудительно введено в среду, вместо этого будет выполняться фактический процесс аутентификации.
2 ответа:
Получение значения из HttpServletRequest.getRemoteUser() в Tomcat без изменения приложения - Этот ответ содержит
Valve
, который делает именно это. Он работает с Tomcat, протестирован с Tomcat 6 и Tomcat 7.Получение значения из HttpServletRequest.getRemoteUser () в Tomcat без изменения приложения - Этот другой ответ также может быть полезен. Речь идет о файловой области, которая также требует некоторой конфигурации сервера Tomcat, но без каких-либо кодирование.
Первое, что приходит мне в голову, - это реализовать свой собственный Valve и изменить запрос во время выполнения, чтобы добавить имя пользователя, которое вы хотите для аутентификации.
Вы будете использовать это
Valve
только в своей среде разработки для тестирования.