강의

멘토링

커뮤니티

BEST
개발 · 프로그래밍

/

백엔드

스프링 시큐리티

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

(4.7) 수강평 145개

수강생 2,035명

  • 백기선

먼저 경험한 수강생들의 후기

이런 걸 배울 수 있어요

  • 웹 애플리케이션에 인증 및 인가 기능을 추가할 수 있습니다.

  • 스프링 시큐리티 아키텍처를 이해할 수 있습니다.

  • 스프링 시큐리티 적용시 테스트를 작성하는 방법을 학습할 수 있습니다.

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

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

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

안녕하세요
입니다.

92,519

수강생

4,248

수강평

2,010

답변

4.8

강의 평점

20

강의

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

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

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

커리큘럼

전체

48개 ∙ (8시간 4분)

강의 게시일: 
마지막 업데이트일: 

수강평

전체

145개

4.7

145개의 수강평

  • 012attack님의 프로필 이미지
    012attack

    수강평 6

    평균 평점 3.5

    3

    100% 수강 후 작성

    この講義は、Spring Securityのアーキテクチャと非常に基本的な内容をよく説明しています。 しかし、不足している部分が多いのは事実だ。 実は平がなぜこんなに良いのか分からない。 私がそう思う理由は以下の通りです。 1. アーキテクチャを説明するのにデバッグとコードだけで説明してみると 全体的なアーキテクチャの絵が頭にはまっていない人は わかりにくい図式化した文書がよく整理されたブログだけではない。 そして、流れを説明するときに絵を事前に描いたり、 ペイントやタブレットなどを使って説明すべきではないかと思います。 そうすればコードだけで見るよりはるかに理解しやすいからだ。 2. 内容の深さがあまりにも基本的である。 その理由は講義が長くなるかと思ってあまりにも多くのメソッドがあるからだと 主に話しています。 講義が長くなるか見てはあまりにも下向きの平準化で勉強を頑張らない人 対象とするのではないかと思う。これは抑圧かもしれません。 用例が少なすぎて基本的な内容だけを教える。 3. 川の途中で流れが切れる場合が非日比在する。 10分を満たさない講義で途中で流れが途切れる場合が 多くて何か説明をするのに準備が少なくなったような感じを持つようになる。 - ps。要塞人工知能の勉強で、すべての人工知能と 有料数学講義を受講しています その講義が全く真剣で準備が整っている点があって 厳格なマットを持って評価をした。 この言葉は誤解されるか見てみましょうか悩みをたくさんしました。 この部分のせいで酷評を残すのではないかと思うか。 ところで残さなければならない。 常にテストを重視する方 質問しましたが、テストとスプリングコードも確認しません。 文書だけを聞きながらそうだろうと推定する姿は正直に ちょっと残念だった。

    • kkwonsy1219님의 프로필 이미지
      kkwonsy1219

      수강평 5

      평균 평점 4.4

      3

      100% 수강 후 작성

      評がなぜこんなに良いのか分からない。 価格に比べて内容が足りない。

      • danaldanalcom82960님의 프로필 이미지
        danaldanalcom82960

        수강평 1

        평균 평점 3.0

        3

        100% 수강 후 작성

        まず、講義はよく聞きました。 SpringSecurityの基礎について学ぶことができてよかったですね。ただし、この講義を他の人に推薦することはできないようです。 講義を聞いてみると、講師様が映像を録画する際におおよそどんな内容を説明するでしょうが、まとめて映像を録画したことが感じられました。実際に載せてくれたPDFも本当に概略的な内容だけが出ていて多くの重要な内容が言葉だけで説明されており、その説明さえもあらかじめ用意して整理して言うというよりは、その時覚えて説明するという感じが強かったです。だから聞く人、つまり私には説明がとても気になりましたね。講義の前で説明できなかった内容が突然後ろから新たに現れるなど……この講義がインターネット講義なので何度も回してみたのでかろうじて理解できましたが率直にとても大変でした。 有名な方であることを知って信じて購入しましたが、たくさん失望しました。是非学生が高価なお金を与えて講義を購入する理由を振り返ってみてほしいです。

        • seongju994620님의 프로필 이미지
          seongju994620

          수강평 1

          평균 평점 3.0

          3

          23% 수강 후 작성

          インストラクターは……………………………………………………………。後で時間があれば、ある講義に何度も"え...ええと...え......"を書いて数えてみたい。 だからといって講義の質が良いわけでもない。説明がとても気を散らして何度も振り返っても理解できなかった。あまりにも有名な方なので期待して買ったのに期待以下の講義だった。なぜ学生が高価なお金を与えて講義を買ったのかを考えてみたい。

          • jwdeveloper님의 프로필 이미지
            jwdeveloper

            수강평 5

            평균 평점 5.0

            5

            90% 수강 후 작성

            汽船のスプリングセキュリティを受講し、セキュリティについてより深い理解をするようになり、勉強方法に関するヒントも得ました。 実務では、セキュリティ部分に障害が発生したときにデバッグポイントをキャッチできないことが多かった。 汽船が説明してくれたSpring Security Architectureを理解した後、実務で本当にたくさんの助けを受けました。 また、動作することにフォーカシングを合わせた開発はシェルに過ぎないことを感じ、 divide conquer 方式でデバッグポイントを撮ってそれぞれの動作原理を教えてくれ、後半部に該当原理を合わせる部分は本当にひざを打ち明けさせました。 今後自分で別の勉強を始めるようになったら、このように勉強を進めるべきだという悟りまで得られた最高の名講義でした。 Spring Security入門者の方は本当に強いです👍🏻

            ₩88,000

            백기선님의 다른 강의

            지식공유자님의 다른 강의를 만나보세요!

            비슷한 강의

            같은 분야의 다른 강의를 만나보세요!