Spring на практике - как настроить свой UserService в Spring Security

Поділитися
Вставка
  • Опубліковано 10 жов 2024
  • Онлайн-курс от GrabDuck.com:
    Продолжаем работать с Spring Security и в данном уроке рассмотрим как настроить свою имплементацию компонента Spring Security - UserService. В качестве контейнера для хранения информации о пользователях будем использовать MongoDB.
    Также посмотрим, почему метод шифрования пароля Plain Text, используемый Spring Security по умолчанию, должен быть переопределен. Посмотрим, как это сделать и какая имплементация на сегодняшний день наиболее предпочтительна.
    #spring #springboot #springsecurity #httpbasedauthentication #css #программирование
    Исходники - github.com/esu...
    =============================
    "GrabDuck" - канал ютуб разработчика уникального сервиса интернет-закладок GrabDuck.com. Все уроки основаны на личном опыте создателя проекта и программиста с большим стажем работы в интернациональных IT компания Европы.
    Основная специализация разработчика поиск и поисковые технологии Solr.
    =============================
    Приглашаем Вас регистрироваться на grabduck.com
  • Навчання та стиль

КОМЕНТАРІ • 31

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

    Работа в IT Германия! Ищем сотрудника для работы в немецкой команде
    Backend developers! Java,Spring, web development
    Tech Slack:
    - Java
    - Spring Framework
    - Microservices
    - swagger / open API
    - kubernetes / docker
    - PostgreSQL Mongo DB
    - Pluspunkt: Camunda BPM, Solr
    Experience 4 years + desired
    This is a great opportunity to join a team with a modern and friendly culture.
    Sent your CV at info@econor.io
    Поддержка на первое время в Германии!

  • @Po4kaKita
    @Po4kaKita 4 роки тому +2

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

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

    Очень помогло разобраться с секьюрити

  • @0vector0
    @0vector0 7 років тому +2

    Спасибо, отличное видео. Можно еще показать как сделать свою форму входа вместо той что предоставляет спринг. И форму регистрации как добавить. Еще раз спасибо!

  • @vladvlad8839
    @vladvlad8839 4 роки тому

    Очень хорошая подача материала, спасибо автору.

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

    Спасибо

  • @ВиталийПугач-к8ю
    @ВиталийПугач-к8ю 7 років тому +2

    Спасибо Вам!

  • @sergeymild
    @sergeymild 7 років тому +6

    по чаще бы видео, спасибо

  • @McMeil
    @McMeil 7 років тому +3

    Вы так хорошо рассказываете. Могли бы сделат материал по Angular_2 + spring?

  • @ronrcf
    @ronrcf 7 років тому +12

    Сделай видео по OAuth2 плиз

    • @GrabDuck
      @GrabDuck  7 років тому +3

      Как руки дойдут, сделаем

  • @serhiilukashchuk1659
    @serhiilukashchuk1659 7 років тому +1

    Большое спасибо за видео. Не предполагается в следующих видео работа со Spring Security для REST API?

    • @GrabDuck
      @GrabDuck  7 років тому

      Что вы этим имеете в виду? Чем по вашему должна отличаться работа со Spring Security для REST API от "для стандартного web-приложения"? Спрашиваю из любопытства, может что-то конкретное ожидаете ;-)

    • @serhiilukashchuk1659
      @serhiilukashchuk1659 7 років тому

      Я уверен, что по незнанию технологии не так конкретно задал вопрос. Скорее для полноты картины я думал увидеть работу с Postman и авторизацию над методами.

    • @GrabDuck
      @GrabDuck  7 років тому +2

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

  • @artemfirsov9720
    @artemfirsov9720 7 років тому +1

    Евгений, скажите пожалуйста, с чем может быть связанно, что при добавлении @Data (11:30 на видео) ошибка не пропадает? dependency добавлены import lombok.Data имеется, версия Intelliji Idea аналогичная

    • @GrabDuck
      @GrabDuck  7 років тому +2

      Для IntellijIdea еще нужен плагин для Lombok. У вас установлен?

    • @artemfirsov9720
      @artemfirsov9720 7 років тому

      помогло, спасибо!

    • @artemfirsov9720
      @artemfirsov9720 7 років тому

      Скажите пожалуйста какая версия у вас данного плагина и Intellijiidea. т.к. возникают проблемы с builder()?

    • @GrabDuck
      @GrabDuck  7 років тому

      Intellij Idea 2016.3.2, Lombok plugin - 0.13.16. Какие у вас проблемы с builder?

    • @artemfirsov9720
      @artemfirsov9720 7 років тому

      просто плагин отказывается его видеть данном случае в файле UserService. У них эта проблема здесь в комментариях описана plugins.jetbrains.com/idea/plugin/6317-lombok-plugin
      приходиться делать руками, тогда работает))

  • @BANZAII764
    @BANZAII764 7 років тому +4

    Странно. Добавляю аннотацию @Data, класс как был подчеркнутым, так и остался. Ругается что не реализованы методы имплеменченного интерфейса. Плагин установлен, Annotation Processor включен, в pom.xml плагин добавлен. Не работает, зараза.

  • @ЮрийБучин-д2ф
    @ЮрийБучин-д2ф 7 років тому

    Добрый день. Способ настройки UserService, Spring Security из видео подойдет для rest сервиса? Или нужно как-то по другому производить настройку?

    • @GrabDuck
      @GrabDuck  7 років тому

      Если не понимаете, то начните с этого способа. В целом он пойдет, как что-то начнет мешаться или обнаружите что-то что ну явно не вписывается в концепцию REST сервера (например форма логина) будете смотреть чем заменить.

  • @sresetnjak
    @sresetnjak 7 років тому +1

    А вы не могли бы объяснить в UserService у вас есть конструкция userDao.findByUsername("user").ifPresent(user -> { что это за user и откуда он берется?

    • @GrabDuck
      @GrabDuck  7 років тому +1

      Если кратко, то это лямбда функция из Java8. Если полнее, то findByUsername возвращает Optional, у которого есть метод ifPresent. Если говорить старыми терминами из java до 8, то ifPresent принимает в качестве параметра объект у которого есть определенный метод. Если Optional задан, то вызывается как раз этот метод и ему передается опять таки в качестве параметра user из Optional. Lambda из Java8 позволяет это все сократить до вида (user) -> { тело метода }. А вообще почитайте про лямбда в Java8 ;-)

    • @sresetnjak
      @sresetnjak 7 років тому

      Ну про Optional и ifPresent почитал до того как задать вопрос ) У меня неясность с user -> Я делаю с базой MySQL и там UserRepository и нет метода ... -> user.setPassword. Смотрю ваш UserDao и пытаюсь понять откуда он взялся.

    • @danyalOFF
      @danyalOFF 7 років тому

      user.setPassword просто сгенерирован с помощью Lombok. скорее всего вы не рассмотрели детально класс User. а все остальное это просто лямбда, она одинаково работает и с монго и с мускулом по простой причине, что не привязана никак к бд)) это "вкусняшка" джавы)

  • @wiktortuczkowski1524
    @wiktortuczkowski1524 7 років тому

    извините за наглость, может планируете онлайн на лайвкодинг? или твиче

    • @GrabDuck
      @GrabDuck  7 років тому

      Нет не планируем. А для чего?