웹 애플리케이션에서 사용자에게 맞춤형 콘텐츠를 제공하는 것은 필수적입니다. 예를 들어, 특정 사용자에게만 접근을 허용하는 관리자 페이지나, 로그인한 사용자에게만 보여주는 정보 수정 페이지 등이 있습니다. 이러한 페이지에 대한 접근 제어가 제대로 이루어지지 않으면, 일반 사용자가 관리자 페이지에 접근하거나 로그인하지 않은 사용자가 제한된 페이지에 들어갈 수 있는 심각한 보안 문제가 발생할 수 있습니다. 이러한 문제를 방지하고 웹 애플리케이션의 보안을 강화하기 위해, Spring MVC Filter를 활용할 수 있습니다. 필터(FIlter)란❓필터는 Java Servlet API의 Filter 인터페이스를 구현한 객체로, 요청과 응답이 웹 애플리케이션의 컨트롤러에 도달하기 전에 또는 컨트롤러로부터 응답..
Framework/Spring\Spring boot
현대의 소프트웨어 개발에서 마이크로서비스 아키텍처(MSA)는 큰 인기를 끌고 있습니다. 따라서 전통적인 모놀리틱 아키텍처에서 점점 더 많은 기업들이 MSA(Microservices Architecture)로 전환하고 있습니다. 그러나 앞선 "MSA란 무엇일까❓"포스팅에서도 알아보았듯이 많은 장점들이 있지만 복잡한 도전과제를 수반하기 때문에 이를 효율적으로 관리하고, 운영하는 것을 결코 쉬운 일이 아닙니다. 따라서 아키텍처를 효과적으로 운영하려면, 여러 가지 복잡한 문제들을 해결해야 합니다. 이때 도움이 되는 것이 바로 "Spring Cloud"입니다. 이번 포스팅에서는 Spring Cloud가 무엇인지, 어떠한 종류가 있는지, 장단점에 대해서 알아보겠습니다. Spring Cloud란❓ Spring Clo..
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)인가는 ..