Spring-ws获取用户名和密码
我学习Spring-ws已经一周多一点了,我已经设置了一个简单的Web服务。
我正在使用soapui进行测试,并在请求属性中指定用户名和密码。
我的Web服务没有安全层,也不想添加安全层。我只需要从请求中取出用户名和密码,就可以向另一个服务发出请求。我不希望必须在请求正文本身中指定用户名或密码。
我要做的就是从soapui的请求中检索用户名和密码。有人知道用户名和密码在请求中的什么位置吗?它们是在http报头中还是在SOAP报头中。SOAPUI中的SOAP头似乎为空。
我已尝试向终结点编写自己的侦听器并获取SOAP头,但它似乎是空的。
我也尝试过使用SecurityContextHolder.getContext().getAuthentication();
检索它们
但这将返回NULL。
我还尝试从我的终结点询问HttpServletRequest
,以查看用户详细信息是否在其中,但很遗憾没有。
有人对这一领域有什么想法或知识吗?
解决方案
因为您的应用程序中没有身份验证,所以您的服务器不会提示身份验证,并且从不使用您在soapUI中指定的参数(不包括在Http请求中)。此外,使用
SecurityContextHolder.getContext().getAuthentication()
因为您没有身份验证,所以没有经过身份验证的用户,并且如您所说,它返回空。 如果需要用户名/密码才能访问其他资源,则应将其指定为Web服务中的配置参数。
相关文章