Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Java中的Web服务实现类访问用户名_Java_Web Services - Fatal编程技术网

从Java中的Web服务实现类访问用户名

从Java中的Web服务实现类访问用户名,java,web-services,Java,Web Services,使用CXF WSAuthentication Interceptor对用户进行身份验证后。。。我需要服务实现中的用户名(业务逻辑)。想知道是否有一种简单的方法可以访问实现类中的用户名?为什么不创建一个用户对象,并将其放置在内存中的某个位置(在静态映射或列表等中),同时使用wsse:security中的用户名进行身份验证?一旦到达服务端点实现类,就会丢失MessageContext,因此很难读取标题。在实现类中声明这些标题: @Resource private WebServiceContext

使用CXF WSAuthentication Interceptor对用户进行身份验证后。。。我需要服务实现中的用户名(业务逻辑)。想知道是否有一种简单的方法可以访问实现类中的用户名?

为什么不创建一个用户对象,并将其放置在内存中的某个位置(在静态映射或列表等中),同时使用wsse:security中的用户名进行身份验证?一旦到达服务端点实现类,就会丢失MessageContext,因此很难读取标题。

在实现类中声明这些标题:

@Resource
private WebServiceContext wsContext;
然后,以任何方式:

Principal p = wsContext.getUserPrinciple();
String username = p.getName();
@资源指示web服务堆栈将web服务上下文注入到wsContext属性中