我已经学习了一周多一点的时间,我已经建立了一个简单的网络服务。
我正在使用soapui测试它,并在请求属性中指定用户名和密码。
我的网络服务没有安全层,也不想添加安全层。我只需要从请求中提取用户名和密码,以便向另一个服务发出请求。我不想在我的请求正文中指定用户名或密码。
我想要做的就是从soapui的请求中检索用户名和密码。有谁知道请求中的用户名和密码在哪里?它们是在http标头还是soap标头中。 soaplue中的soap标题似乎是空的。
我尝试将自己的拦截器编写到我的端点并获取soap标头,但它似乎是空的。
我也尝试使用SecurityContextHolder.getContext().getAuthentication();
检索它们
但是这会返回null。
我还试图从我的终端询问HttpServletRequest
以查看用户详细信息是否在那里,遗憾的是没有。
有没有人对这个领域有任何想法或了解?
答案 0 :(得分:1)
由于您的应用程序中没有身份验证,因此您的服务器不会提示进行身份验证,并且从不使用您在soapUI中指定的参数(不包括在http请求中)。此外,没有必要使用
SecurityContextHolder.getContext().getAuthentication()
由于您没有身份验证,因此没有经过身份验证的用户,并且如您所述返回null。 如果您需要用户名/密码来访问其他资源,则应在Web服务中将它们指定为配置参数。