Основы работы с Spring Security

Поділитися
Вставка
  • Опубліковано 25 чер 2024
  • В данном видео на практических примерах рассмотрены основы работы с Spring Security Framework
    00:00:00 Введение
    00:03:08 Cоздание шаблона проекта
    00:11:46 Интеграция Spring Security
    00:15:35 Объяснение Basis Auth
    00:18:03 Конфигурация spring security и работа с UserDetailsService (InMemoryUserDetailsManager)
    00:26:06 Авторизация с использованием ролей (roles)
    00:35:16 Авторизация с использованием прав доступа (authorities)
    00:44:00 Использование аннотации @PreAuthorize
    00:46:22 Аутентификация с использованием формы ввода (form based authentication)
    00:55:58 Аутентификация и авторизация при работе с БД (DaoAuthenticationProvider)
    01:16:30 Аутентификация и авторизация с использованием JWT токена
    01:52:37 Заключение
    Ссылка на github репозиторий:
    github.com/proselytear/spring...
    Ветки:
    STEP1 - шаблон проекта
    STEP2 - интеграция Spring Security
    STEP3 - работа с InMemoryUserDetailsManager
    STEP4 - авторизация с использованием ролей пользователя
    STEP5 - авторизация с использованием прав доступа
    STEP6 - использование аннотации @PreAuthorize
    STEP7 - аутентификация с помощью формы логина (сессии)
    STEP8 - аутентификация и авторизация при работе с БД
    STEP9 - аутентификация и авторизация с использованием JWT токена
    Ссылки:
    CSRF: / protection-from-cross-...
    Spring Security documentation:
    docs.spring.io/spring-securit...
    Цикл видео по SpringSecurity от JavaBrains:
    • Spring Security Basics

КОМЕНТАРІ • 414

  • @vidiaha
    @vidiaha 3 роки тому +91

    Это видео - лучшее что я видел про Spring Security. Два часа, в которых собрана только полезная информация, которую самому можно изучать очень долго. Супер! Спасибо! Теперь нужно еще 2 видео о секьюрности:
    1. Про скрещивание авторизации на основе Oauth2 (сторонний сервер) + своя БД.
    2. Про цепочки фильтров.

    • @EugeneSuleimanov
      @EugeneSuleimanov  2 роки тому +2

      Спасибо за отзыв :)

    • @astracode7955
      @astracode7955 2 роки тому

      @@EugeneSuleimanov Евгений, скажите пожалуйста. Я делаю спринг мвс проект без boot и ориентируюсь на ваше видео. При реализации с JWT ваши html страницы остались активны?

    • @EugeneSuleimanov
      @EugeneSuleimanov  2 роки тому

      @@astracode7955 обычно, JWT используется для REST API.

  • @user-cp1nm3yj4q
    @user-cp1nm3yj4q 3 роки тому +4

    просто бомба. таймкоды, скорость воспроизведения, выжимка информации. огромное спасибо. то , что нужно

  • @user-zv4kq8ly2n
    @user-zv4kq8ly2n 3 роки тому +2

    Пока не смотрел,но уже огромное спасибо Евгений.Это одна из тем в spring которую мне нужно лучше понимать.Спасибо

  • @enable4
    @enable4 3 роки тому +10

    Просто святой человек)
    Спасибо огромное, очень много почерпнул с твоего канала)

  • @maxmaroff260
    @maxmaroff260 3 роки тому +2

    Евгений, спасибо большое. Очень полезное видео! Спасибо за труды!!!

  • @user-xc6ut6cw9e
    @user-xc6ut6cw9e 3 роки тому +2

    Евгений, спасибо за полезное видео!

  • @luckybeardbro
    @luckybeardbro 3 роки тому +1

    Спасибо за отличный ролик, на одном дыхании посмотрел!

  • @maksimfartushniy6504
    @maksimfartushniy6504 2 роки тому +1

    Это самый конструктивный и понятный разбор Spring Security. Спасибо за вашу работу!

  • @maitreeee
    @maitreeee 3 роки тому +5

    Спасибо за видео, лайк сразу же=) с возвращением!

  • @Maxya777
    @Maxya777 Рік тому

    Самое понятное видео на ютубе по jwt и security, спасибо Вам большое, очень помогли разобраться в теме токенов

  • @twinklstudio1615
    @twinklstudio1615 3 роки тому +1

    спасибо что делаешь такие видео с помощью них я нашел работу!!!!

  • @user-bp7tu1rj2n
    @user-bp7tu1rj2n 3 роки тому +1

    Спасибо большое, Женя, очень интересно, честно :) Смотрю в нерабочее от паттернов время:)

  • @user-lm6ch4zi7y
    @user-lm6ch4zi7y 3 роки тому +1

    Благодарю, потрясающее объяснение, как будто на все случаи жизни

  • @vladimirblagin3105
    @vladimirblagin3105 2 роки тому +3

    Прекрасный материал. Два часа ценнейшей выверенной информации. И тут не только Spring Security, но и еще отличный сборник лучших практик программирования на Java. Больше всего меня поразило, что этот материал записан практически за несколько часов. Одним сплошным потоком. Потрясающе. Спасибо!

  • @maksimkrasnov244
    @maksimkrasnov244 Рік тому

    Евгений, спасибо, что публикуете такие видеоуроки!
    Как всегда очень подробное, четкое и понятное объяснение сложного материала!
    Супер!!!

  • @xatuky9644
    @xatuky9644 Рік тому +3

    благодарю за два тяжелых, но прекрасных часа

  • @maksymmatlo4327
    @maksymmatlo4327 3 роки тому

    Женя огромное спасибо за такое полезное видео! Как всегда все понятно и профессионально!

  • @teodorhrabovenskyi3537
    @teodorhrabovenskyi3537 2 роки тому

    Найкращий відос по Spring Security. Дякую за детальне пояснення!)

  • @user-dp6dh3cx5k
    @user-dp6dh3cx5k 3 роки тому

    Мега-супер-круто!!! Вы сделали меня счастливее на целый раздел моей работы!!! Огромное спасибо!

  • @phil2964
    @phil2964 3 роки тому +1

    Да, с возвращением! всегда очень полезные видео 👍

  • @TheSelectmax
    @TheSelectmax 3 роки тому +3

    Какой же здоровский видос! Спасибо большое!

  • @nanita_na_na
    @nanita_na_na Рік тому +10

    Идеальное видео, все что я читала/искала/пробовала 3 месяца собрано вот тут и так компактно и понятно. Тысяча лайков

  • @AnnaSmirnova1
    @AnnaSmirnova1 3 роки тому +2

    Спасибо большое ! Просто бомбический урок. Наконец-то стало яснее как там что в Spring Security/

  • @fredor2844
    @fredor2844 3 роки тому +20

    Воу, с возвращением!

  • @roma00952011
    @roma00952011 Рік тому +1

    Это видео - лучшее что я видел про Spring Security.!!! Спасибо за разумное объяснение ! и за ссылку. Благодарен !

  • @asriyanarseniy8356
    @asriyanarseniy8356 3 роки тому

    Безгранична благодарность и уважение Вам, Евгений

  • @user-ij7gt8rk7c
    @user-ij7gt8rk7c 3 роки тому +7

    Спасибо за видео)

  • @user-pu1gc1lv9q
    @user-pu1gc1lv9q Рік тому +1

    Евгений, бесконечная благодарность за видео! Очень выручил перед собеседованием)

  • @SERG__ZV
    @SERG__ZV 2 роки тому

    Большое спасибо. Много нового для себя подчерпнул.

  • @user-pp3eu6km2w
    @user-pp3eu6km2w 2 роки тому

    Спасибо большое! Очень полезный курс. Хорошо помог, в особенности JWT.

  • @user-bn9wc8db6s
    @user-bn9wc8db6s 2 роки тому +4

    У меня, как у новичка чуть голова не лопнула от объёма))) Буду пересматривать!!! Спасибо, Евгений за работу👍👍👍👍

    • @EugeneSuleimanov
      @EugeneSuleimanov  2 роки тому +1

      Спасибо за отзыв! Рад, что материал оказался полезен :)

  • @arutyun_g
    @arutyun_g 3 роки тому +4

    Полноценное кино 🍿 Блокбастер от Женька. Не представляешь, как ты вовремя с этим видео, второй день пытаюсь разобраться с принципом работы Spring Security

    • @EugeneSuleimanov
      @EugeneSuleimanov  3 роки тому +2

      Рад, что материал будет полезным!

  • @aleksandr-monarch
    @aleksandr-monarch 2 роки тому +1

    Великолепное видео!

  • @user-vd4fm8hf9w
    @user-vd4fm8hf9w Рік тому +2

    Мозговой штурм , думаю теперь нужно пойти в документацию и там искать знакомые слова из видео ).Вам дуже дякую

  • @user-oz9rf6fm1w
    @user-oz9rf6fm1w 3 роки тому +1

    Спасибо, все четко и без лишней шелупони!

  • @tseby1172
    @tseby1172 2 роки тому +2

    Не знаю как и поблагодарить-то кроме лайка с подпиской. Настолько ценный материал. Делаю свой пет проект, чтобы найти первую работу и твой контет не побоюсь так сказать, играет решающую роль!

  • @user-ig3db7fp6k
    @user-ig3db7fp6k Рік тому

    Огромное спасибо! Подача - топ, всё очень чётко и ясно.

  • @user-tx5ib9gr9k
    @user-tx5ib9gr9k Рік тому

    Отлично! Автору почет и уважуха

  • @user-wz7cv4dt6q
    @user-wz7cv4dt6q 2 роки тому

    Спасибо большое, Евгений, видео мне очень помогло!

  • @Alexander-pt1ye
    @Alexander-pt1ye 3 роки тому +1

    Спасибо за отличный материал!

  • @dolphinmoto3226
    @dolphinmoto3226 2 роки тому +2

    Огромное спасибо за видео! 👍😃

  • @user-iz7jr4yt1o
    @user-iz7jr4yt1o 10 місяців тому

    Да, вот это видео, очень крутое, конечно, можно возращаться и смотреть опять, благодарю!

  • @Anticipant
    @Anticipant Рік тому +1

    не понимаю как такие хорошие люди существуют, спасибо за бесплатный контент

  • @androedge
    @androedge 3 роки тому +1

    ПРОСТО СУПЕР! БЛАГОДАРЮ! Было бы просто отвалом, если бы вышло видею как этот сервис законсюмить и правильно работать с токеном на стороне консюмера.

  • @vahanharutyunyan7692
    @vahanharutyunyan7692 2 роки тому

    Не мало информации просмотрел на тему spring security и могу однозначно сказать,что Ваша подача информации одна из самых лучших... хотя бы для меня лично,но думаю все с этим согласны! Низкий Вам поклон,добрый человек!

    • @EugeneSuleimanov
      @EugeneSuleimanov  2 роки тому

      Спасибо за отзыв, рад, что материал оказался полезен!

  • @user-lr6nq7ih9q
    @user-lr6nq7ih9q Рік тому

    Огромное спасибо, за ваш труд!

  • @user-tc6yb3qc9g
    @user-tc6yb3qc9g 2 роки тому

    Евгений ты реально крутой!

  • @user-hh5ci7rs7s
    @user-hh5ci7rs7s 3 роки тому +1

    Неужели ))) Очень ждал )

  • @elnar_1206
    @elnar_1206 7 днів тому

    Евгений спасибо большое за видео🙏🙏🙏

  • @user-mz4xd3dp1c
    @user-mz4xd3dp1c Рік тому

    Видео материал супер! Спасибо большое!

  • @Devivl
    @Devivl Рік тому +2

    Потрясающее видео по Spring Security. Грамотная, четкая, приятная речь. Чувствуется, что подходишь с душой. Спасибо, Евгений, за труд! Очень круто, что есть такие люди на просторах WWW 🔥 . Пожалуйста, снимай ещё 🙏

  • @FragoLanten
    @FragoLanten 9 місяців тому

    по некоторым видео Евгения, готовлюсь к срезам и собесам, будучи стажером Java, это видео очень классное, плюс также много раз смотрел видео по паттернам, огромное спасибо и низкий поклон Евгений!

    • @EugeneSuleimanov
      @EugeneSuleimanov  9 місяців тому

      Большое спасибо за отзыв! Рад, что материал оказался полезен.

  • @engend3405
    @engend3405 Рік тому +2

    Очень крутой материал, как всегда - спасибо!)

    • @EugeneSuleimanov
      @EugeneSuleimanov  Рік тому +1

      Спасибо за отзыв!

    • @user-no9zt9dh4o
      @user-no9zt9dh4o Рік тому

      ты смог jwt Авторизацию реализовать?

    • @engend3405
      @engend3405 Рік тому

      @@user-no9zt9dh4o да)

    • @user-no9zt9dh4o
      @user-no9zt9dh4o Рік тому

      @@engend3405 вопрос, а в базу данных в пароль какой хэш засунул?
      Просто каждый раз пишет неверно
      Для админа и для юзера

  • @NemchinovRP
    @NemchinovRP 3 роки тому

    Спасибо за хорошее видео!

  • @user-dx9yq5js2c
    @user-dx9yq5js2c 2 роки тому

    Спасибо огромное за видео!

  • @zhenyalee2731
    @zhenyalee2731 3 роки тому +1

    Безумно полезно!

  • @johnconnor3553
    @johnconnor3553 5 місяців тому

    Как круто!Посмотрел на одном дыхании как боевик со Стэтхэмом!

  • @immortal-spirit-13
    @immortal-spirit-13 3 роки тому

    спасибо за видео ))0 оооочень круто и профессионально ))

  • @user-tl7cp7sn5m
    @user-tl7cp7sn5m 3 роки тому

    Крутое возвращение!))

  • @SmallBishop
    @SmallBishop Рік тому +1

    Супер! Объем, форма подачи и темп, то что надо. Евгений, так держать!

    • @EugeneSuleimanov
      @EugeneSuleimanov  Рік тому

      Спасибо за отзыв!

    • @valdemiros5309
      @valdemiros5309 Рік тому

      Евгений, а как теперь связать фронтенд с JWT? С Postman конечно играть прикольно)), но в браузере как-то актуальнее. Куда засунуть токен в постмане - понятно, чтобы получить доступ к страницам. А вот как это все воплощается вне постмана?

    • @EugeneSuleimanov
      @EugeneSuleimanov  Рік тому

      @@valdemiros5309 беку все равно, как эти данные буду отправлены. Но, обычно мы просто сохраняем токен в localStorage и через интерцептор добавляем токен в хедеры запросов.

    • @valdemiros5309
      @valdemiros5309 Рік тому

      @@EugeneSuleimanov ну так-то понятно, что бэку всеравно)), но тут столкнулся именно с такой задачей - подружить JWT c фронтом и завис... а в сети информации такой практически крупицы...

  • @uglkfrls
    @uglkfrls 3 роки тому +6

    Отличное видео! Ещё бы работу с SPA освятили бы - и была бы абсолютно вся нужная информация!

  • @antbat2009
    @antbat2009 3 роки тому

    Спасибо )) классное видео.

  • @tilekzholdoshbek726
    @tilekzholdoshbek726 2 роки тому

    prosto bez slov, bravo! pojaluysta prodoljaite! Salam iz Kyrgyzstana!

  • @borisjohnson2826
    @borisjohnson2826 2 роки тому

    Кращий! Все зрозуміло. Ключовий плюс в тому, що все послідовно, кожен степ пояснюється. Це дуже професійно.

  • @user-uq4nd6go9c
    @user-uq4nd6go9c 3 роки тому +5

    Опять спринг - супер!

  • @andrew_golubev
    @andrew_golubev 3 роки тому

    Спасибо Жень, очень помогло!

  • @user-sy9rn6tu1b
    @user-sy9rn6tu1b Місяць тому +1

    шедевр искусства

  • @fkyduckwarsaw691
    @fkyduckwarsaw691 3 роки тому

    Прямо благодарность!
    (Как раз обвешиваю своё pet приложение для прохождения собеседования.
    Spring security подъехал just in time : ) )
    Всё внедрилось как часики.

  • @-boiadeiro-
    @-boiadeiro- Рік тому

    Полезный ролик, спасибо.

  • @McMeil
    @McMeil 3 роки тому +1

    спасибо за работу)

  • @someStudentChannel
    @someStudentChannel 2 роки тому

    Ты просто золото. Лайк.

  • @igorpavlenkov3658
    @igorpavlenkov3658 3 роки тому

    Спасибо большое за видео!)

  • @GMByteJavaTM
    @GMByteJavaTM 2 роки тому

    Спасибо! Очень полезно!

  • @xiix8410
    @xiix8410 3 місяці тому

    ГИГАНТСКОЕ СПАСИБО АВТОРУ. Даже не хочу думать сколько бы времени я потратил, если бы разбирался с этим сам! Спасибо-спасибо-спасибо)

    • @EugeneSuleimanov
      @EugeneSuleimanov  3 місяці тому +1

      Спасибо за отзыв, рад, что материал оказался полезен.

  • @flatmapper
    @flatmapper 3 роки тому +1

    Спасибо, всё получилось

  • @user-fd4xy8tx5b
    @user-fd4xy8tx5b 2 роки тому +1

    Это было божественно, под конец было ощущение, что все немного быстро(в плане слишком много нового материала на одну минуту ахахаха), но в целом шикарный курс, спасибо вам :) Всем мир

  • @dark_evil77
    @dark_evil77 3 роки тому +15

    Прум прум новое видео!

    • @AndreyDelay
      @AndreyDelay 3 роки тому

      хах)) улыбнулся)

  • @alexandr6055
    @alexandr6055 Рік тому +1

    посмотрел все внимательно, повторял каждый шаг за Евгением. Итог - приложение работает, я сам ни хрена не понял. Просто чистый лист. АПДЕЙТ! Надо посмотреть несколько раз, раза с третьего заходит как домой. Тема очень сложная как по мне. Спасибо за Ваш труд!

  • @MarvinMatters
    @MarvinMatters Рік тому

    Идеально поэтапное объяснение

  • @maksimus.ssirotkin1124
    @maksimus.ssirotkin1124 2 роки тому

    Очень Круто!

  • @user-qs9zh6qm2i
    @user-qs9zh6qm2i 10 місяців тому

    Спасибо большое! Самое лучшее видео!
    Было бы хорошо ещё чтобы где-то рассказали так же про аутентификацию с OAuth2 Google

    • @EugeneSuleimanov
      @EugeneSuleimanov  10 місяців тому +1

      Большое спасибо за отзыв!

  • @maksimivanov8728
    @maksimivanov8728 2 роки тому

    Крутой обзор, хотелось бы еще про Spring Cloud и архитектуру микросервисов.

    • @EugeneSuleimanov
      @EugeneSuleimanov  2 роки тому +1

      Спасибо за отзыв. В планах, но пока сложно со временем, к сожалению.

  • @ramziddinkh6565
    @ramziddinkh6565 Рік тому +1

    Брат, ты спас меня от большого экзамена😇😎

    • @EugeneSuleimanov
      @EugeneSuleimanov  Рік тому

      Рад, что материал оказался полезен. Спасибо за комментарий :)

  • @andrewteterin975
    @andrewteterin975 Рік тому

    Видос бомба! Спасибо!

  • @user-qo1ph9rz9r
    @user-qo1ph9rz9r Рік тому

    Отличное видео!!!

  • @user-zx5sv2hb3u
    @user-zx5sv2hb3u 3 роки тому +10

    Спасибо, что не забросил канал!

  • @solosenandreevich8565
    @solosenandreevich8565 Рік тому

    это волшебно!

  • @alexfisher9679
    @alexfisher9679 3 роки тому

    Спасибо, все супер!

  • @slavasmi3772
    @slavasmi3772 3 роки тому

    Большое спасибо!

  • @djonidjonovic8029
    @djonidjonovic8029 3 роки тому +1

    Наконец-то, заждались уже от Евгения видео. Спасибо, как раз,то что надо, чётко и по делу. Такой вопрос где обещанные видео с собеседованиями? (кроме тех которые уже выложены)

    • @EugeneSuleimanov
      @EugeneSuleimanov  3 роки тому

      Спасибо за отзыв!
      1 собеседование не состоялось, теперь ищу интересного кандидата. Как только будет человек с интересным опытом - запишу и обязательно опубликую.

    • @maksymmatlo4327
      @maksymmatlo4327 3 роки тому

      @@EugeneSuleimanov Здраствуйте! С возвращением!
      Хочу напомнить за свое собеседование. Надеюсь вы сможете его опубликовать.

  • @BaJIePkA86
    @BaJIePkA86 3 роки тому

    С возвращением, Женя)

  • @user-np8zd6dk1y
    @user-np8zd6dk1y 3 роки тому +2

    Jun прилетела задача связанная с JWT (spring java) и тут же решение в уведомлении) Так что колокольчик хорошая тема)

  • @user-xn7md3zu8t
    @user-xn7md3zu8t 2 роки тому

    Автору огромное спасибо!!!)
    Видео очень помогло в первичном погружении в spring security, особенно про jwt, если планируются новые видео, то очень жду, теперь будет проще начать изучение проф литературы
    Еще не плохо бы было, если автор рассказал/показал примеры с OAuth2.1

    • @EugeneSuleimanov
      @EugeneSuleimanov  2 роки тому

      Спасибо за отзыв! По Oauyj только в планах, к сожалению.

  • @mpchest1
    @mpchest1 3 роки тому

    Огромное спасибо!

  • @user-xo2jf3qg8y
    @user-xo2jf3qg8y 10 місяців тому

    Вот покупаешь платные курсы и толком объяснить не могут , а тут в youTube, Евгений объясняет бесплатно. Спасибо, Евгений за то, что вы есть !

    • @EugeneSuleimanov
      @EugeneSuleimanov  10 місяців тому

      Большое спасибо за отзыв :)

  • @andreydmitriyev4582
    @andreydmitriyev4582 3 роки тому +1

    Спасибо! Вот это да!

  • @nikitaomelianiuk9510
    @nikitaomelianiuk9510 3 роки тому

    Спасибо, даже верстальщик бы понял)

  • @Lie163
    @Lie163 2 роки тому +1

    Спасибо за видео и подробные пояснения!
    Из всего этого не понял только как осуществлять logout при использовании jwt token

  • @abror8808
    @abror8808 2 роки тому

    Spasibo🤝

  • @VadimZavgorodniy
    @VadimZavgorodniy 3 роки тому +5

    Отличный видос! Спасибо!
    Заметил одиин нюанс когда разбирался какую роль играет класс SecurityUser и похоже, что фактически он не нужен. В том плане, что из него используется только статический метод:
    static UserDetails fromUser(User user)
    Возможно, стоило его перенести в UserDetailsServiceImpl где он используется а SecurityUser удалить.

    • @yaroslavtarasenko3157
      @yaroslavtarasenko3157 2 роки тому

      Скорее всего тот метод должен был выглядеть как-то так:
      public static SecurityUser fromUser(User user) {
      return new SecurityUser(
      user.getEmail(),
      user.getPassword(),
      user.getRole().getAuthorities(),
      user.getStatus() == Status.ACTIVE);
      }

    • @user-zm8oi2uf3o
      @user-zm8oi2uf3o 2 роки тому

      Вадим! Автор специально акцентировал, что в данном случае есть кастомный юзер хранимый в БД, а есть юзер который имплементирует User Details. Для новичков это очень важно т.к. возникает путанница с юзерами.