2011-04-14 4 views
0

내 애플리케이션을 보호하기 위해 URL 기반 인터셉터와 함께 스프링 보안을 사용하고 있습니다. 사용자가 로그인 한 후 어느 클래스에서 어떤 사용자 지정 처리를 할 수 있습니까?스프링 보안 : 어느 시점에 사용자가 로그인했는지 알 수 있습니까?

나는 특히 사용자가 마지막으로 로그인 한 날짜를 저장하려고하지만이를 달성하는 방법을 알 수 없습니다.

도움을 주셔서 감사합니다.

답변

3

org.springframework.context.ApplicationListener 인터페이스 구현을 고려해 볼 수 있습니다.

그러면 구체적으로 org.springframework.security.authentication.event.AuthenticationSuccessEvent을 청취합니다.

그런 다음 사용자 로그인을 유지할 수 있습니다.

가능한 예제 코드 :

public void onApplicationEvent(ApplicationEvent event) { 

    if (event instanceof AuthenticationSuccessEvent) { 

     try { 

      AuthenticationSuccessEvent authenticationSuccessEvent = (AuthenticationSuccessEvent) event; 

      Authentication authentication = authenticationSuccessEvent.getAuthentication(); 

      //Persist your user's login here. 

     } catch (Exception e) { 

      // Handle exception as needed. 
     } 
    } 
} 
관련 문제