CS TIL

이재하·2023년 10월 18일
0
post-thumbnail

Annotation의 개념과 예시

Annotation은 Java에서 코드에 추가 정보를 제공하는 메타데이터다. 이는 컴파일 또는 실행 시에 해석될 수 있다.

예시로:

  • 기본 Java Annotations: @Override는 메서드가 부모 클래스의 메서드를 오버라이드한다는 것을 나타낸다.

  • Spring Framework: @Autowired는 의존성 주입을 위해 사용된다.

  • JPA: @Entity는 클래스가 데이터베이스 엔터티임을 표시한다.

  • JUnit: @Test는 메서드가 테스트 메서드임을 나타낸다.

Annotations은 코드의 동작에 직접적인 영향을 주진 않지만, 해당 코드의 사용법 및 동작에 대한 정보를 제공한다.


Spring Security의 구조와 JWT 발급 과정

Spring Security의 구조:

Spring Security는 애플리케이션의 보안 요구사항을 위한 프레임워크다.
주요 구성요소로는 AuthenticationManager, SecurityContextHolder, 필터 체인, UserDetails가 있다.

JWT 발급 과정:

  1. 사용자는 ID와 비밀번호로 인증을 요청한다.
  2. Spring Security는 사용자의 정보를 검증한다.
  3. 검증이 성공하면, JWT 토큰을 생성하여 사용자에게 반환한다.
  4. 사용자는 이 JWT를 사용하여 인증된 요청을 서버에 보낸다.
  5. 서버는 JWT를 검증하여 요청에 응답한다.

Spring Security와 JWT를 조합하면, 상태를 유지하지 않는 API 보안을 효과적으로 구현할 수 있다.

0개의 댓글