Spring-WS получить имя пользователя и пароль
Я изучал spring-ws чуть более недели и настроил простой веб-сервис.
Я тестирую его с помощью soapui и указываю имя пользователя и пароль в свойствах запроса.
У моего веб-сервиса нет слоя безопасности, и я не хочу его добавлять. Мне просто нужно вытащить имя пользователя и пароль из запроса, чтобы сделать запросы к другому сервису. Я не хочу указывать имя пользователя или пароль в теле моего запроса.
Все, что я хочу сделать, это получить имя пользователя и пароль из запроса со стороны soapui. Кто-нибудь знает, где имя пользователя и пароль находятся в запросе? Они в заголовке http или заголовке мыла. Заголовок мыла, кажется, пуст в мыло.
Я попытался записать свой собственный перехватчик в мою конечную точку и получить заголовок мыла, но он кажется пустым.
Я также попытался восстановить их с помощью SecurityContextHolder.getContext().getAuthentication();
но это возвращает ноль.
Я также пытался допросить HttpServletRequest
с моей точки зрения, чтобы увидеть, если там были данные пользователя, к сожалению, нет.
У кого-нибудь есть идеи или хорошие знания в этой области?
1 ответ
Поскольку в вашем приложении нет аутентификации, ваш сервер не запрашивает аутентификацию, и параметры, которые вы указываете в soapUI, никогда не используются (не включены в запрос http). Кроме того, нет смысла использовать
SecurityContextHolder.getContext().getAuthentication()
так как у вас нет аутентификации, нет аутентифицированного пользователя, и он возвращает null, как вы сказали. Если вам нужны имя пользователя / пароль для доступа к другому ресурсу, вы должны указать их в качестве параметров конфигурации в вашем веб-сервисе.