본문 바로가기

spring security4

[Spring Security] 인증 Filter를 기준으로 Custom Filter 추가와 변경 안녕하세요. 오늘 포스팅에서는 인증 Filter의 추가와 변경하는 방법에 대해서 알아보도록 하겠습니다. Filter Spring Securtiy는 기본적으로 Filter를 기반으로 동작합니다. 따라서 Spring Security Framework를 이해하기 위해서는 Filter에 대해서 이해하는것이 필수입니다. Filter는 요청을 수신하고 그 논리를 실행하고 최종적으로 다음 Filter로 요청을 전달하는 역할을 합니다. 아래의 이미지는 여러 필터가 동작하는 방식을 나타냅니다. Filter 1에서 로직을 실행하고 Filter 2로 전달, Filter 3으로 전달하고 마지막에는 Controller에서 Request를 받아서 처리합니다. 그리고 Controller의 Response가 만들어지고 이렇게 만들어.. 2023. 1. 18.
[Spring Security + JPA] JPA를 사용해서 Spring Security User 인증 서비스 만들기 안녕하세요. 오늘은 유저 정보를 MySQL에 저장하고 JPA를 활용하여 이 정보를 기준으로 Spring Security에서 유저의 인증을 확인하는 샘플을 만들어보도록 하겠습니다. 오늘 구현할 부분은 아래의 이미지에서 색깔로 칠해져 있는 부분입니다. 이부분들을 커스터 마이징하면 DB에서 유저를 가져와서 이를 인증에 이용할 수 있게 됩니다. 오늘 구현한 샘플은 github에 올려두었습니다. 전체 코드가 궁금하신 분들은 github repository에 접근하시면 확인이 가능합니다. 구현 필요 부분 오늘 실습에서 Spring Security의 Interface를 이해하고 있어야하는 부분은 아래와 같습니다. 해당 Interface가 하는 역할 및 구현 부분에 대한 정의는 이전 포스팅[Spring Security.. 2022. 12. 28.
[Spring Security] Spring Security에서 UserDetailsService와 PasswordEncoder Interface 분석하기 안녕하세요. 이전시간에 Spring Security의 전체적인 아키텍쳐와 기본적인 샘플에 대해서 알아보았습니다. 아래가 Spring Security의 전체적인 이미지였습니다. 오늘은 이어서 UserDetailsService와 PasswordEncoder의 디테일한 부분에 대해서 알아보도록 하겠습니다. UserDetailsService와 UserDetailsManager interface UserDetailsService는 이전시간에 사용자에 대한 세부 정보를 가져오는 역할을 한다고 했습니다. 실제로 인터페이스를 확인해서 UserDetailsService는 어떻게 활용해야하는지 확인해보도록 합시다. /** * 유저의 데이터를 가져오는데 사용하는 Core Interface * * 이 인터페이스는 read-o.. 2022. 12. 18.
[Spring Security] Spring Security 기본 아키텍처, 맛보기 샘플, 그리고 default 값 안녕하세요. 이전시간에 서비스의 일반적인 보안 취약성 이라는 주제로 개발하면서 지켜야할 기본적인 보안에 대해서 알아보는 시간을 가져보았습니다. 오늘은 Spring Security를 이용하여 실전으로 서비스의 보안을 강화해 보는 시간을 가져보도록 하겠습니다. 오늘은 그 첫 시간으로 Spring Security의 기본에 대해서 알아보는 시간을 가져보겠습니다. Spring Security 란 Spring Security는 인증(authentication)과 인가(authorization) 그리고 일반적인 서비스 공격을 막아낼 수 있는 프레임워크입니다. 이 프레임워크는 servlet 서비스 뿐만 아니라 reactive 서비스 역시 사용 가능하며 Spring 기반 어플리케이션 보안의 사실상 표준입니다. 최고의 장.. 2022. 12. 4.