Je suis relativement nouveau pour le Printemps et le Printemps de sécurité.
J'ai été de tenter d'écrire un programme où j'avais besoin d'authentifier un utilisateur à la fin du serveur à l'aide de Printemps de sécurité,
Je suis venu avec les éléments suivants:
public class CustomAuthenticationProvider extends AbstractUserDetailsAuthenticationProvider{
@Override
protected void additionalAuthenticationChecks(UserDetails userDetails, UsernamePasswordAuthenticationToken usernamePasswordAuthenticationToken)
throws AuthenticationException
{
System.out.println("Method invoked : additionalAuthenticationChecks isAuthenticated ? :"+usernamePasswordAuthenticationToken.isAuthenticated());
}
@Override
protected UserDetails retrieveUser(String username,UsernamePasswordAuthenticationToken authentication) throws AuthenticationException
{
System.out.println("Method invoked : retrieveUser");
//so far so good, i can authenticate user here, and throw exception if not authenticated!!
//THIS IS WHERE I WANT TO ACCESS SESSION OBJECT
}
}
Mon cas d'utilisation, c'est que lorsqu'un utilisateur est authentifié, j'ai besoin de placer un attribut comme:
session.setAttribute("userObject", myUserObject);
myUserObject est un objet de la classe que je puisse y accéder tout au long de mon code serveur à travers de multiples demandes de l'utilisateur.