월 17,600원
5개월 할부 시
중급자를 위해 준비한
[웹 개발, 백엔드] 강의입니다.
스프링 시큐리티 구동 원리 및 구조를 이해하고 스프링 시큐리티가 제공하는 다양한 기능을 활용하여 웹 애플리케이션에 필요한 인증 및 인가 기능을 설정하는 방법을 살펴봅니다.
이런 걸
배워요!
내가 만든 앱의 시큐리티는
내가 책임져야죠 💪
앱에서 '인증'과 '인가'는 필수! 🔥
게시판을 만든다고 가정해 봅시다. 익명 게시판이 아닌 이상 현재 어떤 사용자가 글을 작성하고 있는지 알아야 합니다. 흔히 '로그인'이라고 부르고 스프링 시큐리티에서는 Authentication 또는 "인증"이라고 말하는 기능이 필요합니다.
또한 글을 수정할 수 있는 사용자는 최소한 그 글의 작성자 또는 관리자 권한이 있어야 합니다. 이때 개발자로서 애플리케이션에 "인가", Authorization 또는 Access Control 기능을 적용하여 적절한 권한을 가진 사용자만 해당 글을 수정할 수 있도록 기능을 구현해야 합니다.
웹 애플리케이션인 경우, CSRF, XXS, 세션 변조, Clickjacking 등 다양한 웹 보안 관련 이슈에 대응하는 것도 반드시 필요합니다.
강의 소개 📖
#1.
스프링 시큐리티의
다양한 기능 적용
이 강의는 폼 기반의 웹 애플리케이션에 스프링 시큐리티가 제공하는 다양한 기능을 적용하며 스프링 시큐리티 구조를 파악합니다.
#2.
스프링 시큐리티의
내부 구조
단순히 기능을 적용해 보는 것에 그치지 않고 스프링 시큐리티가 서블릿 기반 웹 애플리케이션에 어떻게 맞물려 동작하는지 그 내부 구조를 학습합니다. AuthenticationManager, AccessDecisionManager, FilterChainProxy 등 스프링 시큐리티 내부 구조를 학습하는데 많은 도움이 될 것입니다.
#3.
대중적인 앱 형태에
선택과 집중
이 강의는 타임리프(Thymeleaf)를 뷰 템플릿으로 사용하는 서블릿 기반 애플리케이션을 주로 다룹니다. ACL, OAuth2, Reactive(WebFlux) 그리고 웹소켓을 지원하는 기능은 다루지 않았으며 메소드 시큐리티에 대해서는 간략하게 살펴봤습니다. 하지만 이 강의를 충분히 학습하신다면 여기서 다루지 않은 기능도 손쉽게 익힐 수 있을 겁니다.
지식공유자의 한 마디 🧑🏫
지금까지 만든 또 앞으로도 만들 제 모든 강좌를 보면서 여러분은 제가 무언가를 학습하는 방법을 익힐 수 있습니다. 저는 항상 테스트를 중요하게 생각하지만 그렇다고 TDD에 집착하지는 않습니다. (가끔 그렇게 보인다는 피드백을 받기도 했지만..) 모든 기능은 직접 코딩하여 검증하며, 이해가 되지 않는 부분 또는 더 자세히 보고 싶은 부분은 디버거를 활용합니다.
여러분은 이 강좌에서도 어김없이 스프링 시큐리티를 적용했을 때 테스트 코드를 작성하는 방법과 디버거를 사용하여 분석하는 방법을 익힐 수 있습니다.
💡 참고사항
- 어떤 IDE를 사용하는지는 중요하지 않습니다. 여러분에게 익숙한 IDE를 사용하시기 바랍니다.
- 이 강좌에서는 IntelliJ IDEA(인텔리J) 유료 버전을 사용합니다. 무료 버전을 사용해도 강좌를 따라하는 데는 크게 지장은 없지만 일부 과정이 여러분보다 편리해 보일 수는 있습니다.
- 스프링에서 무료로 제공하는 이클립스 기반의 STS(스프링 툴 스윗)을 사용한다면 비슷한 수준의 편리함을 누릴 수 있을 겁니다.
필요한 선수지식 🤓
이 강좌는 수강하시는 분들이 다음과 같은 선수 지식을 갖췄다는 가정 하에 만들었습니다. 아직 수강하지 않은 강좌 또는 학습하지 않은 주제가 있다면 꼭 미리 학습하신 뒤에 이번 강좌를 수강하시기 바랍니다.
참고 자료 📜
이런 분들께 추천드려요!
학습 대상은
누구일까요?
선수 지식,
필요할까요?
백기선 입니다.
네이버와 아마존을 거쳐 현재 Microsoft에서 시니어 소프트웨어 엔지니어로 일하고 있습니다.
아인슈타인은 "교육이란 사실을 가르치는 것이 아니라, 생각할 수 있는 힘을 기르는 것이다."라고 말했습니다. 그리고 저도 그 말에 깊이 공감하며 강의를 만들고 있습니다.
유튜브: '백기선' 채널에서 개발자 고민 상담 및 개발자에게 유용한 지식 공유
번역: 스프링 및 하이버네이트 관련 서적 다수 번역
저술: 쉽게 따라하는 자바 웹 개발