저는 Spring 과 Spring 보안에 비교적 익숙하지 않습니다.
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는 여러 사용자 요청에서 서버 코드 전체에 액세스 할 수있는 일부 클래스의 개체입니다.