Я відносно новачок у безпеці Spring та Spring.
Я намагався написати програму, де мені потрібно було автентифікувати користувача на кінці сервера, використовуючи Spring security,
Я придумав наступне:
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 - це об'єкт певного класу, до якого я можу отримати доступ по всьому коду сервера за допомогою декількох запитів користувачів.