0

我已经学习了一个多星期的 spring-ws 并且我已经建立了一个简单的 Web 服务。

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

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

我要做的就是从soapui 的请求中检索用户名和密码。有谁知道请求中的用户名和密码在哪里?它们是在http 标头还是soap 标头中。肥皂标题在soapui 中似乎是空的。

我尝试将自己的拦截器写入我的端点并获取soap标头,但它似乎是空的。

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

我还尝试HttpServletRequest从我的端点询问用户详细信息是否在那里,遗憾的是没有。

有没有人对此领域有任何想法或知识?

4

1 回答 1

1

由于您的应用程序中没有身份验证,因此您的服务器不会提示进行身份验证,并且您在soapUI 中指定的参数永远不会使用(不包含在http 请求中)。而且使用没意思

SecurityContextHolder.getContext().getAuthentication()

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

于 2013-01-22T21:14:58.197 回答