Spring-ws获取用户名和密码

我学习Spring-ws已经一周多一点了,我已经设置了一个简单的Web服务。

我正在使用soapui进行测试,并在请求属性中指定用户名和密码。

我的Web服务没有安全层,也不想添加安全层。我只需要从请求中取出用户名和密码,就可以向另一个服务发出请求。我不希望必须在请求正文本身中指定用户名或密码。

我要做的就是从soapui的请求中检索用户名和密码。有人知道用户名和密码在请求中的什么位置吗?它们是在http报头中还是在SOAP报头中。SOAPUI中的SOAP头似乎为空。

我已尝试向终结点编写自己的侦听器并获取SOAP头,但它似乎是空的。

我也尝试过使用SecurityContextHolder.getContext().getAuthentication();检索它们 但这将返回NULL。

我还尝试从我的终结点询问HttpServletRequest,以查看用户详细信息是否在其中,但很遗憾没有。

有人对这一领域有什么想法或知识吗?


解决方案

因为您的应用程序中没有身份验证,所以您的服务器不会提示身份验证,并且从不使用您在soapUI中指定的参数(不包括在Http请求中)。此外,使用

SecurityContextHolder.getContext().getAuthentication()

因为您没有身份验证,所以没有经过身份验证的用户,并且如您所说,它返回空。 如果需要用户名/密码才能访问其他资源,则应将其指定为Web服务中的配置参数。

相关文章