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