ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 2023-04-05 : Spring Security & Spring
    TIL ( Today I Learned ) 2023. 4. 25. 09:31

    Spring Security에서 loadUserByname return 후에 실행되는게 onAuthenticationSuccess 인가?

    - Spring Security에서 `loadUserByUsername()` 메소드는 인증 프로세스에서 사용자 인증 정보를 가져오는 역할을 한다.

    - 이 메소드 실행 후에는 `AuthenticationManager` 에서 다음 단계로 진행된다.

     

    - `AuthenticationManager` 가 인증을 성공하면 `onAuthenticationSuccess()` 메소드가 호출된다.

    - 이 메소드는 인증 성공 시 수행할 작업을 구현할 수 있다.

    - 이 메소드를 구현할려면 `AuthenticationSuccessHandler` 인터페이스를 구현하거나 `SimpleUrlAuthenticationSuccessHandler` 클래스를 확장해야 한다.

     

    - 따라서 `loadUserByUsername()` 메소드는 인증 프로세스의 일부이며, 인증이 성공하면 `onAuthenticationSuccess()` 메소드가 실행된다.

     

    하나의 Controller 가 어떻게 수 많은 request 를 처리할 수 있을까?

    - 하나의 컨트롤러가 수많은 request를 처리하는 것을 스레드(Thread)와 스레드 풀(Thread Pool)을 이용하여 가능하다.

     

    - 스레드는 프로그램에서 동시에 실행되는 실행 단위이다.

    - 즉, 스레드를 이용하여 다수의 request를 처리할 수 있다.

    - 하지만, 스레드를 매번 생성하는 것은 비효율적이기 때문에 스레드 풀을 이용하여 효율적으로 스레드를 관리할 수 있다.

     

    - 스레드 풀은 미리 생성해 놓은 스레드를 재활용하여 작업을 처리하는 방식이다.

    - 스레드 풀에 미리 생성해 놓은 스레드가 request를 받으면 해당 작업을 처리하고 다음 request를 대기하게 된다.

    - 이렇게 함으로써, 스레드를 매번 생성하고 삭제하는 것보다 메모리 사용량도 감소시키고, 스레드 생성에 드는 비용도 줄일 수 있다.

     

    - 따라서, 스레드와 스레드 풀을 이용하여 하나의 컨트롤러가 수많은 request를 처리할 수 있다.

     

    'TIL ( Today I Learned )' 카테고리의 다른 글

    2023-05-11 : Java  (0) 2023.05.11
    2023-04-28 : git  (0) 2023.04.28
    2022-09-07 : ReactJS  (0) 2022.09.07
    2022-08-24 : Git & Java  (0) 2022.08.24
    2022-08-23 : JAVA  (0) 2022.08.23

    댓글

Designed by Tistory.