From 52c7ee0ff06c06ab52d21ac1b4cd26d901265636 Mon Sep 17 00:00:00 2001 From: EliuX Date: Mon, 19 Feb 2018 13:05:45 -0500 Subject: [PATCH] Adds UserDetails to Authentication. Add the `UserDetails` object to the `Authentication` during Spring Security password callbacks. Resolves #109. --- .../SpringSecurityPasswordValidationCallbackHandler.java | 1 + .../SpringSecurityPasswordValidationCallbackHandlerTest.java | 2 ++ 2 files changed, 3 insertions(+) diff --git a/spring-ws-security/src/main/java/org/springframework/ws/soap/security/wss4j2/callback/SpringSecurityPasswordValidationCallbackHandler.java b/spring-ws-security/src/main/java/org/springframework/ws/soap/security/wss4j2/callback/SpringSecurityPasswordValidationCallbackHandler.java index cc94530e..7b4a5a5a 100644 --- a/spring-ws-security/src/main/java/org/springframework/ws/soap/security/wss4j2/callback/SpringSecurityPasswordValidationCallbackHandler.java +++ b/spring-ws-security/src/main/java/org/springframework/ws/soap/security/wss4j2/callback/SpringSecurityPasswordValidationCallbackHandler.java @@ -92,6 +92,7 @@ public class SpringSecurityPasswordValidationCallbackHandler extends AbstractWsP if (logger.isDebugEnabled()) { logger.debug("Authentication success: " + authRequest.toString()); } + authRequest.setDetails(user); SecurityContextHolder.getContext().setAuthentication(authRequest); } diff --git a/spring-ws-security/src/test/java/org/springframework/ws/soap/security/wss4j2/callback/SpringSecurityPasswordValidationCallbackHandlerTest.java b/spring-ws-security/src/test/java/org/springframework/ws/soap/security/wss4j2/callback/SpringSecurityPasswordValidationCallbackHandlerTest.java index 98979857..3a59afc1 100644 --- a/spring-ws-security/src/test/java/org/springframework/ws/soap/security/wss4j2/callback/SpringSecurityPasswordValidationCallbackHandlerTest.java +++ b/spring-ws-security/src/test/java/org/springframework/ws/soap/security/wss4j2/callback/SpringSecurityPasswordValidationCallbackHandlerTest.java @@ -125,6 +125,8 @@ public class SpringSecurityPasswordValidationCallbackHandlerTest { assertThat(authorities).isNotEmpty(); assertThat(authorities.iterator().next()).isEqualTo(grantedAuthority); + assertThat(authentication.getDetails()).isEqualTo(user); + verify(userDetailsService); } }