2024/11 5

[Spring Boot] JWT를 이용한 인증/인가 구현하기(Spring Security X)

JWT를 사용하기 위한 파일FilterConfig.java@Configuration@RequiredArgsConstructorpublic class FilterConfig { private final JwtUtil jwtUtil; @Bean public FilterRegistrationBean jwtFilter() { FilterRegistrationBean registrationBean = new FilterRegistrationBean(); registrationBean.setFilter(new JwtFilter(jwtUtil)); registrationBean.addUrlPatterns("/*"); // 필터를 적용할 URL 패턴을 지정합니다. ..

[Spring Boot] 스레드(Thread)

스레드란?스레드란 프로그램에서 실행되는 작업의 최소 단위입니다. 예를 들어 API를 호출하면 Spring에서 스레드가 요청을 처리합니다.여기 한 식당이 있습니다. 그 식당에는 종업원(Thread) 이 있습니다. 각각의 종업원은 손님(Client)들에게 주문(request)을 받고 주방(Spring MVC) 에서 음식(response) 이 완성이되면 음식을 손님에게 음식을 전달해 줍니다.   성능이 좋은 서버란?1. 하나의 스레드를 극한의 효율로 사용하기(싱글 스레드), 비동기 방식과 non-blocking방식을 사용 -> Node.js2. 스레드를 여러개 사용하기(멀티 스레드), 비공기 방식과 non-blocking 방식을 사용 -> Spring  동기와 비동기동기: 동기 방식에서는 작업이 순차적으로 진..

[Spring Boot] Spring Security를 이용하여 인증인가 구현하기

Spring Security란?Spring Security는 인증, 인가를 구현하는 데 도움을 주는 Spring의 프레임워크입니다.Spring Security를 이용하면 전에 구현했던 어노테이션을 만드는 과정도 매우 쉽게 구현할 수 있습니다. 이전에 JWT를 이용한 인증인가 [Spring Boot] JWT를 이용한 인증/인가 구현하기(Spring Security X)JWT를 사용하기 위한 파일FilterConfig.java@Configuration@RequiredArgsConstructorpublic class FilterConfig { private final JwtUtil jwtUtil; @Bean public FilterRegistrationBean jwtFilter() { FilterRegistr..

[Spring Boot] JWT와 세션의 차이

JWT란?JWT(JSON Web Token)란 JSON으로 이루어진 Web 토큰입니다. JWT의 구성요소와 특징헤더: 어떤 알고리즘으로 인코딩을 할 것인지, 어떤 토큰을 사용할 것인지에 관한 정보입니다.페이로드: 전달하고자 하는 정보가 들어갑니다.(ex. 아이디, 이름, 이메일 등), 최소한의 정보만 담아야 합니다.시그니처: 토큰이 변조되지 않았는지 확인하기 위한 부분입니다. JWT의 가장 중요한 점은 JWT는 암호화가 아닌 인코더라는 점입니다.암호화: 키가 없다면 복호화가 불가능인코더: 키가 없더라도 복호과가 가능따라서 JWT는 탈취당하면 다른 사람이 누구나 페이로드의 내용을 볼 수 있습니다.  저희 또한 아래 홈페이지에 들어가서 JWT를 입력한다면 시그니처가 없더라도 JWT의 내용을 확인 할 수 있습..

[Spring Boot] 필터( Filter )

필터란?필터란 쉽게 이야기해서 공통 부분을 한번에 처리함으로써 코드의 중복을 줄이고, 유지보수하기 쉽도록 하는 방법입니다.예를 들어 인증/인가, 인코딩, 권한 등에 사용할 수 있습니다. 이 글은 필터를 가장 쉽게 필터 하나의 기능만 사용하였으며, 추후 로그인 기능을 구현하기 위해 글을 포스팅 하였습니다. 필터 작동 과정요청이 들어오면 요청은 가장 먼저 필터를 타고 들어오게 됩니다. 따라서 로그인 기능을 구현할 때 인증/인가를 모두 확인하기 가장 적합합니다.  필터를 적용한 코드@Component@Slf4jpublic class FilterConfig implements Filter { @Override public void doFilter(ServletRequest request, Servle..