En mi aplicación estoy usando autenticación LDAP. Pero también tengo 2 servicios remotos que requieren autenticación a través del método de inicio de sesión (nombre de usuario, contraseña). El método devuelve un token de seguridad que me permite invocar otros métodos, es decir, debería pasar el token de seguridad a los métodos de servicio como primer argumento.
Así que me gustaría obtener estos tokens de seguridad inmediatamente después del inicio de sesión exitoso usando LDAP y almacenarlos en SecurityContext. Traté de usar authentication-success-handler-ref de form-login elemento. Con el controlador reemplazo el objeto Autenticación en SecurityContext con Autenticación personalizada que contiene no solo la contraseña sino también tokens de seguridad. Pero en este caso tengo la excepción de que ningún proveedor de autenticación admite esta clase de token. Sé que también es posible almacenar tokens en la sesión HTTP, pero en este caso tengo que pasar la sesión al objeto de servicio, así que me gustaría almacenar los tokens en SecurityContext.¿Cómo almacenar información personalizada en SecurityContext of spring-security?
¿Cuál es el mejor enfoque para manejar el token de seguridad del servicio?
No estoy seguro de poder utilizar userDetailsSerivce con autenticación LDAP. – viator
No necesita implementar todo el UserDetailsService. Solo puede usar su propia implementación de UserDetails con LDAP. Aquí hay información sobre cómo hacer esto: http://static.springsource.org/spring-security/site/docs/3.1.x/reference/ldap.html#ldap-custom-user-details – Gopi