En mi servicio web necesito registrar la identificación de la persona que llama, pero wsContext.getUserPrincipal() devuelve nulo aunque el usuario se haya autenticado mediante WS-Security con autenticación de contraseña. De acuerdo con JavaDocs para JAX-WS 2.1, WSContext.getUserPrincipal() solo debe devolver nulo si el usuario no ha sido autenticado.WSContext.getUserPrincipal() devuelve nulo para la autenticación de resumen de contraseña
¿Tengo que hacer algo en el controlador de seguridad para establecer el principal del usuario en el WSContext? Los documentos parecen indicar que se hace automáticamente.
Estoy usando la pila metro 1.1 (creo que 1.1.5) con la pila jax-ws 2.1.3 en Tomcat.
Me pregunto si esto está funcionando ahora. En uno de mis proyectos anteriores usamos el WSContext.getUserPrincipal() y estaba funcionando. Sin embargo, estábamos haciendo autenticación HTTP básica. –
Metro 1.1 es bastante viejo, quizás el metro 1.4 resuelva el problema. Por otro lado, ¿podría agregar todo su volcado WsContext aquí? – korifey