Spring-WS получить имя пользователя и пароль

Я изучал spring-ws чуть более недели и настроил простой веб-сервис.

Я тестирую его с помощью soapui и указываю имя пользователя и пароль в свойствах запроса.

У моего веб-сервиса нет слоя безопасности, и я не хочу его добавлять. Мне просто нужно вытащить имя пользователя и пароль из запроса, чтобы сделать запросы к другому сервису. Я не хочу указывать имя пользователя или пароль в теле моего запроса.

Все, что я хочу сделать, это получить имя пользователя и пароль из запроса со стороны soapui. Кто-нибудь знает, где имя пользователя и пароль находятся в запросе? Они в заголовке http или заголовке мыла. Заголовок мыла, кажется, пуст в мыло.

Я попытался записать свой собственный перехватчик в мою конечную точку и получить заголовок мыла, но он кажется пустым.

Я также попытался восстановить их с помощью SecurityContextHolder.getContext().getAuthentication();но это возвращает ноль.

Я также пытался допросить HttpServletRequest с моей точки зрения, чтобы увидеть, если там были данные пользователя, к сожалению, нет.

У кого-нибудь есть идеи или хорошие знания в этой области?

1 ответ

Решение

Поскольку в вашем приложении нет аутентификации, ваш сервер не запрашивает аутентификацию, и параметры, которые вы указываете в soapUI, никогда не используются (не включены в запрос http). Кроме того, нет смысла использовать

SecurityContextHolder.getContext().getAuthentication()

так как у вас нет аутентификации, нет аутентифицированного пользователя, и он возвращает null, как вы сказали. Если вам нужны имя пользователя / пароль для доступа к другому ресурсу, вы должны указать их в качестве параметров конфигурации в вашем веб-сервисе.

Другие вопросы по тегам