Я относительно новичок в Spring и Spring security.
Я пытался написать программу, в которой мне нужно было аутентифицировать пользователя на стороне сервера, используя безопасность Spring,
Я придумал следующее:
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
}
}
Мой вариант использования заключается в том, что при аутентификации пользователя мне нужно разместить такой атрибут, как:
session.setAttribute("userObject", myUserObject);
myUserObject - это объект некоторого класса, к которому я могу получить доступ через мой серверный код через несколько пользовательских запросов.