В настоящее время я внедряю решение SAML SSO в своем приложении, где в моем SAMLUserDetailsService
я загружаю своего пользователя
@Service
public class SAMLUserDetailsServiceImpl implements SAMLUserDetailsService {
@Override
public Object loadUserBySAML(SAMLCredential credential) throws UsernameNotFoundException {
return new User(credential.getNameID().getValue());
}
}
Затем я использую SavedRequestAwareAuthenticationSuccessHandler
для перенаправления пользователя на контроллер посадкипосле успешной аутентификации.
@Bean
public AuthenticationSuccessHandler successRedirectHandler() {
SavedRequestAwareAuthenticationSuccessHandler successRedirectHandler =
new SavedRequestAwareAuthenticationSuccessHandler();
successRedirectHandler.setDefaultTargetUrl("/landing");
return successRedirectHandler;
}
Контроллер:
@RequestMapping("/landing")
public ResponseEntity landing(User user) {
return ResponseEntity.ok(user.getLoginName());
}
Есть ли способ передать объект User
в мой контроллер. Я заметил, что это обычно делается с помощью HandlerMethodArgumentResolver
, но, поскольку мое приложение не имеет состояния и не использует сеансы, есть ли способ добиться этого, используя другой способ, пожалуйста?