Thumbnail
BEST
개발 · 프로그래밍 백엔드

스프링 시큐리티 대시보드

(4.7)
130개의 수강평 ∙  1,911명의 수강생
88,000원

월 17,600원

5개월 할부 시
지식공유자: 백기선
총 48개 수업 (8시간 4분)
수강기한: 
무제한
수료증: 발급
난이도: 
입문
-
초급
-
중급이상
지식공유자 답변이 제공되는 강의입니다
폴더에 추가 공유

중급자를 위해 준비한
[웹 개발, 백엔드] 강의입니다.

스프링 시큐리티 구동 원리 및 구조를 이해하고 스프링 시큐리티가 제공하는 다양한 기능을 활용하여 웹 애플리케이션에 필요한 인증 및 인가 기능을 설정하는 방법을 살펴봅니다.

✍️
이런 걸
배워요!
웹 애플리케이션에 인증 및 인가 기능을 추가할 수 있습니다.
스프링 시큐리티 아키텍처를 이해할 수 있습니다.
스프링 시큐리티 적용시 테스트를 작성하는 방법을 학습할 수 있습니다.

내가 만든 앱의 시큐리티는
내가 책임져야죠 💪

앱에서 '인증'과 '인가'는 필수! 🔥

게시판을 만든다고 가정해 봅시다. 익명 게시판이 아닌 이상 현재 어떤 사용자가 글을 작성하고 있는지 알아야 합니다. 흔히 '로그인'이라고 부르고 스프링 시큐리티에서는 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(스프링 툴 스윗)을 사용한다면 비슷한 수준의 편리함을 누릴 수 있을 겁니다.

필요한 선수지식 🤓

이 강좌는 수강하시는 분들이 다음과 같은 선수 지식을 갖췄다는 가정 하에 만들었습니다. 아직 수강하지 않은 강좌 또는 학습하지 않은 주제가 있다면 꼭 미리 학습하신 뒤에 이번 강좌를 수강하시기 바랍니다.


참고 자료 📜


이런 분들께 추천드려요!

🎓
학습 대상은
누구일까요?
웹 애플리케이션에 폼 기반의 인증 및 인가 기능을 구현하고 싶은 학생 또는 개발자
스프링 시큐리티 아키텍처를 이해하고 싶은 학생 또는 개발자
📚
선수 지식,
필요할까요?
스프링 웹 MVC
스프링 부트
스프링 프레임워크 핵심 기술
스프링 데이터 JPA (optional)

안녕하세요
백기선 입니다.
백기선의 썸네일

네이버와 아마존을 거쳐 현재 Microsoft에서 시니어 소프트웨어 엔지니어로 일하고 있습니다.

아인슈타인은 "교육이란 사실을 가르치는 것이 아니라, 생각할 수 있는 힘을 기르는 것이다."라고 말했습니다. 그리고 저도 그 말에 깊이 공감하며 강의를 만들고 있습니다.

유튜브:
'백기선' 채널에서 개발자 고민 상담 및 개발자에게 유용한 지식 공유
번역: 스프링 및 하이버네이트 관련 서적 다수 번역
저술: 쉽게 따라하는 자바 웹 개발

커리큘럼 총 48 개 ˙ 8시간 4분의 수업
이 강의는 영상, 수업 노트가 제공됩니다. 미리보기를 통해 콘텐츠를 확인해보세요.
섹션 0. 스프링 시큐리티: 폼 인증
강좌 자료
폼 인증 예제 살펴보기 미리보기 08:50
스프링 웹 프로젝트 만들기 13:39
스프링 시큐리티 연동 07:42
스프링 시큐리티 설정하기 08:06
스프링 시큐리티 커스터마이징: 인메모리 유저 추가 10:10
스프링 시큐리티 커스터마이징: JPA 연동 21:35
스프링 시큐리티 커스터마이징: PasswordEncoder 06:30
스프링 시큐리티 테스트 1부 15:04
스프링 시큐리티 테스트 2부 20:01
섹션 1. 스프링 시큐리티: 아키텍처
SecurityContextHolder와 Authentication 18:22
AuthenticationManager와 Authentication 미리보기 13:39
ThreadLocal 08:15
Authentication과 SecurityContextHodler 19:44
스프링 시큐리티 필터와 FilterChainProxy 16:11
DelegatingFilterProxy와 FilterChainProxy 09:19
AccessDecisionManager 1부 08:09
AccessDecisionManager 2부 12:59
FilterSecurityInterceptor 09:12
ExceptionTranslationFilter 08:33
스프링 시큐리티 아키텍처 정리 07:47
섹션 2. 웹 애플리케이션 시큐리티
스프링 시큐리티 ignoring() 1부 11:09
스프링 시큐리티 ignoring() 2부 06:09
Async 웹 MVC를 지원하는 필터: WebAsyncManagerIntegrationFilter 미리보기 09:54
스프링 시큐리티와 @Async 09:12
SecurityContext 영속화 필터: SecurityContextPersistenceFilter 05:16
시큐리티 관련 헤더 추가하는 필터: HeaderWriterFilter 07:02
CSRF 어택 방지 필터: CsrfFilter 14:13
CSRF 토큰 사용 예제 17:27
로그아웃 처리 필터: LogoutFilter 10:04
폼 인증 처리 필터: UsernamePasswordAuthenticationFilter 07:12
로그인/로그아웃 폼 페이지 생성해주는 필터: DefaultLogin/LogoutPageGeneratingFilter 04:09
로그인/로그아웃 폼 커스터마이징 14:31
Basic 인증 처리 필터: BasicAuthenticationFilter 08:37
요청 캐시 필터: RequestCacheAwareFilter 03:16
시큐리티 관련 서블릿 스팩 구현 필터: SecurityContextHolderAwareRequestFilter 02:27
익명 인증 필터: AnonymousAuthenticationFilter 04:35
세션 관리 필터: SessionManagementFilter 16:07
인증/인가 예외 처리 필터: ExceptionTranslationFilter 12:30
인가 처리 필터: FilterSecurityInterceptor 07:09
토큰 기반 인증 필터 : RememberMeAuthenticationFilter 09:42
커스텀 필터 추가하기 06:13
섹션 3. 스프링 시큐리티 그밖에
타임리프 스프링 시큐리티 확장팩 미리보기 07:17
sec 네임스페이스 04:42
메소드 시큐리티 17:17
@AuthenticationPrincipal 11:26
스프링 데이터 연동 11:02
스프링 시큐리티 마무리 01:51
강의 게시일 : 2019년 08월 08일 (마지막 업데이트일 : 2019년 08월 08일)
수강평 총 130개
수강생분들이 직접 작성하신 수강평입니다.
4.7
130개의 수강평
5점
4점
3점
2점
1점
VIEW 추천 순 최신 순 높은 평점 순 낮은 평점 순 평점 순 높은 평점 순 낮은 평점 순
JuNu thumbnail
5
기선님의 스프링 시큐리티를 수강하고 시큐리티에 대해서 더 깊은 이해를 하게되었고 공부방법에 대한 힌트 또한 얻었습니다. 실무에서 시큐리티 부분에 장애가 났을 때 디버깅 포인트를 잡지 못하는 경우가 많았는데 기선님께서 설명주신 스프링 시큐리티 아키텍쳐를 이해한 이후로 실무에서 정말 많은 도움을 받았습니다. 또한 동작하는 것에 포커싱을 맞춘 개발은 껍데기에 불과하다는 것을 느꼈고 divide conquer 방식으로 디버깅 포인트를 찍어서 각각의 동작원리를 가르쳐주시고 후반부에 해당 원리를 합치는 부분은 정말이지 무릎을 탁 치게 만들었습니다. 추후에 스스로 또 다른 공부를 시작하게 된다면 이러한 방식으로 공부를 진행해야겠다는 깨달음까지 얻을 수 있었던 최고의 명강의였습니다. 스프링 시큐리티 입문자 분들 정말 강추합니다👍🏻
2022-03-31
danaldanalcom8 thumbnail
3
먼저 강의 잘들었습니다. SpringSecurity 의 기초에 대해 배울수 있어서 좋았네요. 다만 이 강의를 다른사람에게 추천은 못할것 같습니다. 강의를 듣다보면 강사님이 영상을 녹화할때 대략적으로 어떤 내용을 설명할 것인지만 정리해놓고 영상을 녹화했다는게 느껴졌습니다. 실제로 올려주신 PDF도 정말 개략적인 내용만 나와있고 많은 중요한 내용들이 말로만 설명되었으며, 그 설명 마저도 미리 준비하고 정리해서 말한다기 보다는 그때 기억이 나서 설명한다는 느낌이 강했습니다. 그래서 듣는 사람, 즉 저에게는 설명들이 너무 산만하더군요. 강의 앞에서 설명 못한 내용이 갑자기 뒤에서 새로 나타나는 등.... 이 강의가 인터넷 강의라서 몇번이고 돌려봤기 때문에 간신히 이해할수 있었지만 솔직히 너무 힘들었습니다. 유명하신 분인걸 알고 믿고 구매했지만 많이 실망스러웠습니다. 부디 학생들이 비싼돈 주고 강의를 구매하는 이유를 되새겨보셨으면 좋겠습니다.
2021-09-22
씽씽하우젠 thumbnail
3
강사가 어...음....어...를 진짜진짜진짜 많이 사용한다. 나중에 시간되면 한 강의에 몇번이나 "어...음...어...."를 쓰나 세어보고 싶다. 그렇다고 강의의 질이 좋은것도 아니다. 설명이 너무 산만해서 몇번이고 돌려봐도 이해가 되지 않았다. 워낙 유명한 분이라서 기대하고 샀는데 기대 이하인 강의였다. 왜 학생들이 비싼 돈 주고 강의를 샀는지 생각을 해봤으면 한다.
2022-07-24
YongIl Park thumbnail
3
이 강의는 스프링 시큐리티의 아키텍처와 아주 기본적인 내용을 잘 설명하고 있다. 하지만 부족한 부분이 많은 건 사실이다. 사실 평이 왜 이렇게 좋은지 모르겠다. 내가 그렇게 생각하는 이유는 아래와 같다. 1. 아키텍처를 설명하는데 디버그와 코드로만 설명하다 보니 전체적인 아키텍처에 대한 그림이 머리에 박혀 있지 않은 사람은 이해하기가 어렵다. 도식화 한 문서가 잘 정리된 블로그만 못하다. 그리고 흐름을 설명할 때 그림을 미리 그려놓거나 그림판 또는 태블릿 등을 이용해 설명해야하지 않나 싶다. 그렇게 하면 코드로만 보는거 보다는 훨씬 이해가 쉽기 때문이다. 2. 내용의 깊이가 너무 기본적이다. 그 이유는 강의가 길어 질까 봐 너무많은 메소드가 있어서라고 주로 얘기하시는데 강의가 길어질까 봐는 너무 하향 평준화로 공부를 열심히 하지 않는 사람 대상으로 하시는게 아닌가 싶다. 이건 억측일 수 있으니 그렇다 쳐도 용례가 너무 적고 너무 기본적인 내용만 가르치신다. 3. 강의 중간에 흐름이 끊기는 경우가 비일비재하다. 10분 채 되지 않는 강의에서 중간에 흐름이 끊기는 경우가 많아서 뭔가 설명을 하는데 준비가 덜 된듯한 느낌을 갖게 된다. -- ps. 요새 인공지능 공부로 모두의 인공지능 및 유료 수학 강의를 수강하고 있어서 그 강의들이 사뭇 진지하고 준비가 잘되어있는 점이 있어서 엄격한 잣대를 가지고 평가를 했다. 이 말은 오해하실까 봐 할까 말까 고민을 많이 했는데 이 부분 때문에 혹평을 남기는 게 아닐까 생각하실까봐.. 근데 남겨야겠다. 항상 테스트를 중요시하는 분이 질문을 했는데 테스트 및 스프링 코드도 확인 안 하고 문서만 들이미시면서 그럴 것이다고 추정하는 모습은 솔직히 좀 실망스러웠다.
2019-10-29
kw thumbnail
3
평이 왜 이렇게 좋은지 모르겠다. 가격에 비해 내용이 너무 부족하다.
2019-12-01
연관 로드맵
이 강의가 포함된 잘 짜여진 로드맵을 따라 학습해 보세요!