<aside> 🔐 스프링 시큐리티를 사용해 회원관리하는 방법을 순서도를 통해 정리해 보세요.

</aside>

  1. 회원가입

    Untitled

    1. Client → Server
      1. 회원가입에 필요한 정보 (username, password, email 등)
    2. Server
      1. 회원가입 처리
        1. 중복 회원 ID 확인
        2. 패스워드 암호화
        3. 회원 역할 설정 (USER, ADMIN)
    3. Server → DB
      1. 회원정보 DB 에 저장
  2. 로그인

    Untitled

    1. Client → Server
      1. 로그인에 필요한 정보 (username, password)
    2. Server
      1. 로그인 처리
        1. 회원 DB 에서 username 을 가진 회원정보 가져옴
          1. 회원 정보가 없으면 에러 발생
        2. 회원 DB 의 username, password 와 Client 에서 전달받은 username, password 가 동일한지 비교
    3. Server → Session
      1. 로그인 성공 시 Session 에 저장
    4. Server → Client
      1. Session 쿠키 전달 (JSESSIONID)
    5. Client
      1. Session 쿠키 저장
  3. 로그인 이후 로그인 상태 유지 방법

    Untitled

    1. Client 에서 Server 에 API 요청할때마다 Session 쿠키를 전달

<aside> 🔐 단위 테스트 코드 작성 시 장/단점을 정리해 보세요.

</aside>

<aside> 🔐 AOP(**Aspect Oriented Programming)**란 무엇인가?

</aside>

<aside> 🔐 @Transactional이란 무엇인가?

</aside>

<aside> 🔐 WAS란 무엇인가? Web Server와 차이점은 무엇인가?

</aside>

스크린샷 2022-12-15 오전 10.33.21.png