본문 바로가기
728x90

전체 글410

당신의 첫 프로젝트를 위한 스프링 시큐리티(4) - jwt 발급과 redis 📌 이번 글에서는 지난 시간까지 만든 내용을 가볍게 정리하고, jwt 토큰 발급과 redis에 토큰을 저장하는 과정을 설명합니다.🤗 저의 스프링 시큐리티 구현은 아래와 같은 시나리오를 기준으로 합니다.- 프론트 엔드와 백엔드가 나뉘어 진행되는 프로젝트를 기반으로 하여 스프링 시큐리티 설정에서 로그인 페이지에 대한 설정을 따로 하지 않음- JWT 토큰 인증 방식을 사용함- 토큰 관리에 redis를 이용함 🙉 이전 글 보기첫 번째 글부터 정독하시면 보다 쉽게 이해하실 수 있습니다!https://suzuworld.tistory.com/438 - 당신의 첫 프로젝트를 위한 스프링 시큐리티 톺아보기이전 글https://suzuworld.tistory.com/441 - AuthenticationManager,.. 2024. 9. 8.
당신의 첫 프로젝트를 위한 스프링 시큐리티(3) - AuthenticationManager, AuthenticationProvider, UserDetailsService, UserDetails 📌 이번 글에서는 AuthenticationManager, AuthenticationProvider, UserDetailsService, UserDetails 구현에 대해 다룹니다.🤗 저의 스프링 시큐리티 구현은 아래와 같은 시나리오를 기준으로 합니다.- 프론트 엔드와 백엔드가 나뉘어 진행되는 프로젝트를 기반으로 하여 스프링 시큐리티 설정에서 로그인 페이지에 대한 설정을 따로 하지 않음- JWT 토큰 인증 방식을 사용함- 토큰 관리에 redis를 이용함 🙉 이전 글 보기첫 번째 글부터 정독하시면 보다 쉽게 이해하실 수 있습니다!https://suzuworld.tistory.com/438 - 당신의 첫 프로젝트를 위한 스프링 시큐리티 톺아보기이전 글https://suzuworld.tistory.co.. 2024. 8. 4.
당신의 첫 프로젝트를 위한 스프링 시큐리티(2) - 인증 방식 개념과 AuthenticationFilter 📌 이번 글에서는 인증 방식 개념과 AuthenticationFilter 구현에 대해 다룹니다.🤗 저의 스프링 시큐리티 구현은 아래와 같은 시나리오를 기준으로 합니다.- 프론트 엔드와 백엔드가 나뉘어 진행되는 프로젝트를 기반으로 하여 스프링 시큐리티 설정에서 로그인 페이지에 대한 설정을 따로 하지 않음- JWT 토큰 인증 방식을 사용함- 토큰 관리에 redis를 이용함 🙉 이전 글 보기첫 번째 글부터 정독하시면 보다 쉽게 이해하실 수 있습니다!https://suzuworld.tistory.com/438 - 당신의 첫 프로젝트를 위한 스프링 시큐리티 톺아보기이전 글https://suzuworld.tistory.com/439 - SecurityConfig 구성하기 📖 목차스프링 시큐리티 톺아보기Sec.. 2024. 7. 20.
당신의 첫 프로젝트를 위한 스프링 시큐리티(1) - SecurityConfig 구성하기 📌 이번 글에서는 프로젝트 생성부터 SecurityConfig의 초기 설정을 설명합니다.🤗 저의 스프링 시큐리티 구현은 아래와 같은 시나리오를 기준으로 합니다.- 프론트 엔드와 백엔드가 나뉘어 진행되는 프로젝트를 기반으로 하여 스프링 시큐리티 설정에서 로그인 페이지에 대한 설정을 따로 하지 않음- JWT 토큰 인증 방식을 사용함- 토큰 관리에 redis를 이용함 🙉 이전 글 보기첫 번째 글부터 정독하시면 보다 쉽게 이해하실 수 있습니다!https://suzuworld.tistory.com/438 - 당신의 첫 프로젝트를 위한 스프링 시큐리티 톺아보기 📖 목차스프링 시큐리티 톺아보기SecurityConfig 구성하기 (현재 글) ⚙️프로젝트 생성스프링부트 3.x, 자바 17로 테스트 코드를 작성합니.. 2024. 7. 8.
당신의 첫 프로젝트를 위한 스프링 시큐리티 톺아보기 🙇🏻‍♂️ 안녕하세요. 저는 부트캠프를 나와서 개발자로 일하고 있는 사람입니다. 지금 생각해 보면 부트캠프 메인 프로젝트 기간 때 가장 골치 아프고 힘들었던 게 스프링 시큐리티였던 것 같아요. 당시에 막상 만들어 놓고 이해도 잘 못하고 팀원들에게 설명하기 어려워했던 기억이 납니다. 그래서 언젠가 프로젝트를 처음 하시는 분들을 위해 잘 몰라도 따라 할 수 있는 스프링 시큐리티 글을 써야겠다 생각을 했는데 그걸 이제야 하게 됐네요. 아무튼 잘 몰라도, 지나가는 할머니께 다짜고짜 설명해도 이해할 수 있게 쉽게 작성해 보겠습니다.  여기서는 웹, 앱 애플리케이션에서의 로그인, 로그아웃 구현을 위해 필요한 스프링 시큐리티(Spring Security)의 동작 원리에 대한 짤막한 개념과 설명을 다룹니다. 다음 .. 2024. 7. 6.
직접 만들어 보면서 이해하는 웹소켓 (4) - STOMP 실시간 채팅방 구현(백엔드 영역) 직접 만들어 보면서 이해하는 웹소켓 마지막 단계이다.STOMP 실시간 채팅방 구현을 위한 백엔드 코드는 생각보다 매우 간단하다.사실 자바 스크립트도 간단한데 프론트엔드 영역을 잘 모르는 상태로 무작정 구현을 하다 보니 상당히 애를 먹었던 것 같다.가장 어려웠던 부분이 프론트 엔드 영역 코드와 벡엔드 영역 코드의 연결 부분이었는데 이를 쉽게 이해하려면 지난 글을 함께 봐야 한다. 전체 코드는 깃허브 레파지토리에서 확인할 수 있다.https://github.com/wonyongg/test/tree/main/webSocketTest test/webSocketTest at main · wonyongg/testtest and summarize what i learned today. Contribute to won.. 2024. 6. 3.
직접 만들어 보면서 이해하는 웹소켓 (3) - STOMP 실시간 채팅방 구현(프론트엔드 영역) 지난 글에 이어 STOMP에 대해 간단히 알아보고, 이제는 소켓 통신에 대한 실습을 넘어 간단하게 실시간 채팅 웹사이트를 구현해 보겠다. 📌 WebSocket의 한계와 STOMP의 등장 배경WebSocket은 실시간 통신을 위한 효율적인 기술이지만, 사용상 몇 가지 한계가 있다🥲 프로토콜 수준의 메시지 패턴 부재저수준의 프로토콜로 단순한 메시지 전송 기능만 제공한다.따라서 복잡한 메시징 패턴이나 메시지 형식을 개발자가 직접 설계하고 구현해야 한다.🥲 메시지 라우팅의 어려움클라이언트에서 서버로 메시지를 전송할 때 해당 메시지를 어떻게 처리할 것인지, 어느 클라이언트에게 전달할 것인지에 대한 라우팅 로직 역시 개발자가 직접 구현해야 한다.🥲 표준화된 메시징 기능의 부재메시지 교환에 대한 고급 기능(예.. 2024. 5. 23.
직접 만들어 보면서 이해하는 웹소켓 (2) - 크롬 확장프로그램을 이용하여 실시간 채팅방 구현하기 지난 글에 이어 채팅방을 구현해 보자.프론트엔드 영역은 웹소켓 공부에 포커싱 하고자 웹소켓 확장 프로그램으로 대신했다. 👨🏻‍🔬 실습 진행🛠️ 확장 프로그램 설치 - WebSocket King Client구글 크롬의 확장 프로그램에 WebSocket이라고 검색하면 웹소켓에 관련된 여러 테스팅 & 디버깅 툴이 나온다.링크 들어가기그중에 현재 기준 가장 인기 있는 툴을 사용했다.WebSocket king is a tool designed to assist in developing and debugging WebSocket connections.툴의 개요를 보면 웹소켓 연결에 대한 개발과 디버딩을 도와주는 툴이라고 적혀있다.프로그램 설치 후 들어가 보면 위와 같은 화면이 나온다. ☘️ 스프링부트 프로젝.. 2024. 5. 12.
728x90