java – WSContext.getUserPrincipal()返回null用于密码摘要验证

在我的WebService中,我需要记录调用者的id,但wsContext.getUserPrincipal()返回null,即使用户通过密码认证的WS-Security进行身份验证.根据 JavaDocs for JAX-WS 2.1如果用户尚未认证,WSContext.getUserPrincipal()只能返回null.

我必须在安全处理程序中做一些事情来将用户主体设置为WSContext?文档似乎表明它是自动完成的.

我正在使用城市1.1堆栈(1.1.5我认为)与Tomcat上的jax-ws 2.1.3堆栈.

解决方法

尝试迭代wsContext.getMessageContext().entrySet()并显示值,有时它们在那里,但是由于某些原因,getUserPrincipal()方法无法检索.

在这种情况下,直接从那里拿到你的校长,并留下一个评论,以将来你不是很便携.

相关文章

Java中的String是不可变对象 在面向对象及函数编程语言中,不...
String, StringBuffer 和 StringBuilder 可变性 String不可变...
序列化:把对象转换为字节序列的过程称为对象的序列化. 反序...
先说结论,是对象!可以继续往下看 数组是不是对象 什么是对...
为什么浮点数 float 或 double 运算的时候会有精度丢失的风险...
面试题引入 这里引申出一个经典问题,看下面代码 Integer a ...