在我的WebService中,我需要记录
调用者的id,但wsContext.getUserPrincipal()返回null,即使
用户通过密码认证的WS-S
ecurity进行身份验证.根据
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()
方法无法检索.
在这种情况下,直接从那里拿到你的校长,并留下一个评论,以将来你不是很便携.