JWT 란❓ JWT는 "JSON Web Token"의 약자로, 웹 애플리케이션에서 사용자 인증 및 정보 교환을 위해 사용되는 토큰 기반의 인증 방법입니다. JWT는 JSON 포맷을 사용하여 정보를 안전하게 전송하며, 주로 다음과 같은 세 가지 부분으로 구성됩니다. 헤더 (Header) 토큰의 타입과 사용된 서명 알고리즘을 나타냅니다.일반적으로 alg(algorithm)와 typ(type) 필드를 포함합니다. 예를 들어, HMAC SHA256을 사용할 때는 {"alg": "HS256", "typ": "JWT"}와 같은 형식입니다.페이로드 (Payload) 실제 데이터가 담기는 부분입니다.이 데이터는 "클레임(claims)"이라고 불리며, 사용자에 대한 정보(예: 사용자 ID, 만료 시간 등)를 포함합니다..
디지털 시대의 발전과 함께, 웹 애플리케이션과 API의 사용이 급증하면서 보안 문제는 그 어느 때보다 중요해졌습니다. 정보와 자원의 보호를 보장하기 위해, 인증(Authentication)과 인가(Authorization)는 필수적인 보안 절차로 자리 잡았습니다. 이러한 보안 절차는 애플리케이션의 신뢰성을 높이고, 데이터의 무결성과 사용자 프라이버시를 보호하는 데 핵심적인 역할을 합니다. 인증(Authentication)과 인가(Authorization)란❓인증(Authentication)인증은 해당 유저가 실제 유저인지 인증하는 개념으로, 사용자 접근의 첫 번째 단계입니다. 이를 통해 시스템은 사용자가 누구인지 확인하고, 올바른 자원에 대한 접근을 허용합니다. 인가(Authorization)인가는 ..
@Autowired 어노테이션은 의존성 주입을 위해 생성자 파라미터를 타입으로 조회하기 때문에 Bean 등록 어노테이션(@Component, @Service, @Repository, @Controller)으로 빈으로 등록했을 때 빈이 2개 이상 조회될 수 있습니다. 이번 포스팅에서는 조회 빈(Bean)이 2개 이상일 때 처리하는 방법에 대해서 알아보겠습니다. 사용할 예시 코드public interface Food { void eat();}@Componentpublic class Chicken implements Food { @Override public void eat() { System.out.println("치킨을 먹습니다."); }}@Componentpublic ..
Spring Framework는 Java 기반의 애플리케이션에서 의존성 주입과 빈 관리를 통해 효율적인 개발을 지원합니다. 이 과정에서 중요한 역할을 하는 것이 바로 빈(Bean)입니다. 빈의 이름을 올바르게 이해하고 설정하는 것은 Spring의 의존성 주입 및 빈 관리 기능을 효과적으로 활용하는 데 필수적입니다. 이번 포스트에서는 Spring에서 빈 이름이 어떻게 결정되는지, 그리고 빈 이름을 명시적으로 설정하는 방법에 대해 알아보겠습니다. 빈 이름 형성 규칙1. 클래스 이름으로 자동 생성@Componentpublic class MyService { // 빈으로 등록됨}Spring은 @Component, @Service, @Repository, @Controller 등의 어노테이션을 사용..