Je suis relativement nouveau dans la sécurité Spring et Spring.
J'essayais d'écrire un programme dans lequel je devais authentifier un utilisateur côté serveur à l'aide de la sécurité Spring,
J'ai proposé ce qui suit:
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 est que lorsqu'un utilisateur est authentifié, je dois placer un attribut comme:
session.setAttribute("userObject", myUserObject);
myUserObject est un objet d'une certaine classe auquel je peux accéder à travers le code de mon serveur à travers plusieurs demandes d'utilisateurs.