Spring по верхам: Безопасность REST-сервиса

Поделиться
HTML-код
  • Опубликовано: 29 янв 2025

Комментарии • 33

  • @МихаилМихаил-ф7у
    @МихаилМихаил-ф7у 3 месяца назад +1

    Отличное видео. Спасибо за труды!

  • @Терентий-ю4ъ
    @Терентий-ю4ъ Год назад +3

    Благодарность за время и знания!

  • @drugsbunny_8641
    @drugsbunny_8641 Год назад +3

    Шикарное видео, спасибо)

  • @romankryvolapov
    @romankryvolapov 6 месяцев назад +1

    Отличный канал, смотреть интересно. Но трудно, потому что вы редко объясняете, что и для чего делаете, перед тем, как это сделать, и приходится догадываться, исходя из контекста и кода, а некоторое остается не понятно и приходится гуглить. Может стоит также попробовать формат, когда код уже написан, и просто объяснить, что в нем и для чего, думаю, так будет намного быстрей и понятней, чем писать в лайв режиме. Также, для некоторых моментов, я бы упоминал, что существуют альтернативные реализации.

    • @shurik_codes
      @shurik_codes  4 месяца назад

      Смотрите более свежие ролики)

  • @АлександрБугримов-о1е

    спасибо за видео!

  • @borymskyi
    @borymskyi Год назад +3

    Супер качественной информацией делишся, спасибо за контент! Есть правда что улучшать, но само содержание 10/10.
    Кстати, какая версия линукса у тебя ибыло бы здорово услышать что то от тебя на эту тему.

    • @shurik_codes
      @shurik_codes  Год назад

      Спасибо за комментарий) Последние годы пользуюсь Linux Mint, может быть, сниму ролик о его использовании

    • @alessandramacneva6874
      @alessandramacneva6874 11 месяцев назад

      @@shurik_codes Почему вы пользуетесь линуксом, а не windows?

  • @kanap9
    @kanap9 Год назад +1

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

  • @evgeniynorfolk5909
    @evgeniynorfolk5909 Год назад +2

    Спасибо за видео! Побольше просмотров роликам.
    Полезные моменты для себя взял на вооружение, а так же понял куда нужно копнуть поглубже.

  • @viva8357
    @viva8357 Год назад +1

    Очень классная подача материала! Спасибо за труд! добавил Security в свой проект с помощью Ваших видео )
    Хотел уточнить на счет расширения класса User (Вы упоминали об этом в видео): я попробовал такой вариант и столкнулся с интересным поведением. Конструктор ApplicationUser вызывается дважды. Первый раз в конструктор передаются найденные логин и пароль. Второй раз в конструктор передаются null. Никак не могу разобраться почему так происходит. Нужно ли в случае расширения модели User сделать еще какие-то "приседания"? ))

    • @shurik_codes
      @shurik_codes  Год назад

      Обычно нет, не надо, надо трассировку вызовов смотреть, откуда инициируется вызов с аргументами null

  • @mansurirzakhanov6057
    @mansurirzakhanov6057 9 месяцев назад

    Добый день! Сначала хотелось бы очень поблагодарить вас за ваш труд. Спасибо огромное! Есть вопросы. 1)Я правильно понимаю, что тесты и так проходили бы, если бы мы в запросах указывали пользователей, которых нет в бд, то есть без BasicAutheticationFilter нет никакого взаимодействия с UserDetails, то есть если поставить точку останову в методе, где мы берем пользователя по username, туда мы не провалимся, верно? Зачем мы тогда этотреализовываем? 2) Получается, что post методы не падают на этапе аутентификации с ошибкой 401,они сразу падают с 403 ошибкой авторизации, потому что если убрать из запроса в тестах пост методов пользователя, то тест все равно падает с 403 ошибкой, верно? А вот гет методы требует аутентификацию, так получается?

  • @romankryvolapov
    @romankryvolapov 6 месяцев назад

    Вроде сейчас используется JdbcTemplate вместо MappingSqlQuery

    • @shurik_codes
      @shurik_codes  6 месяцев назад

      Каждый сам решает, что ему удобнее, но JdbcTemplate - это универсальный инструмент для выполнения запросов, а MappingSqlQuery - специализированный инструмент для select-запросов

  • @ГенрихАвдеев-ь9з
    @ГенрихАвдеев-ь9з 11 месяцев назад

    Бин конфига безопасности (до этапа добавления связки задач с пользователями) выполнен аналогично представленному в видео, в тестах стоит .with(httpBasic("user", "password")), в конфиге тестов в yml указано spring.security.user: password. Однако при запуске интеграционного теста на получение списка задач возникает 401 Unauthorized.
    В чем может быть дело? Может быть выполнены еще какие-то хитрые настройки, которые остались за кадром?

  • @dmaberlin
    @dmaberlin Год назад

    напомни пожаллуйста, для чего приставка c_ ? like c_username , c_password

    • @shurik_codes
      @shurik_codes  Год назад

      c_ - обычная колонка, id_ - идентификатор, привычка из практики

  • @dmaberlin
    @dmaberlin Год назад

    'csrf()' is deprecated since version 6.1 and marked for removal

    • @shurik_codes
      @shurik_codes  Год назад

      ruclips.net/video/ZHSZ6NqLpMc/видео.html

  • @michaelmichael5617
    @michaelmichael5617 Год назад +1

    40 минут потерянного времени, а была реальная надежда. Изложение действий простое. Но, полное отсутствие системного подхода все портит. Нет ни объяснения, что такое аутентикэйшен провайдер(и что их может быть несколько), ни то, как через них происходит пользовательская аутентификация. Не раскрыта информация по фильтрам(сказал лишь пару слов). Про ролевую модель вообще молчу (про нее ни слова). Получается, что пользователям выдается доступ к Rest-ам, а не ролям, как довольно часто это делается. Нет информации о конфигурации доступа к Rest-ам пользователей/ролей, а так же где она может храниться (в БД или к-н xml файле в сборке). Автор - молодец, что старается. Но, все это в конечном итоге выглядит, как каша и без масла.

    • @shurik_codes
      @shurik_codes  Год назад +5

      Рекомендую обратить внимание на название ролика, там не спроста есть "по верхам", так как я и не собирался рассказывать всё в деталях. Чтобы рассказать в деталях о процессе аутентификации в spring security и его внутреннем устройстве нужно сильно больше времени. И я постараюсь это сделать в отдельной серии роликов, посвящённой spring security.

    • @romankryvolapov
      @romankryvolapov 6 месяцев назад

      Полностью согласен с коментом, дело не в том, по верхам или нет, а в том, что вы углубляетесь в конкретную реализацию, которая вам понятна, но думаю тот, кто смотрит такие видео, не понимает, потому и смотрит, но вы не даете никаких объяснений, что и для чего, просто пишите код, который например можно посмотреть и на гитхабе или медиуме, а не тратить время, чтобы следить за его написанием. Было бы хорошо, если бы вы уделяли меньше внимания конкретной реализации и больше внимания объяснению. Видно, что вы хорошо шарите, но описанная особенность сильно портит впечатление от канала, видео тяжело смотреть и приходитмя постоянно следить, что вы делаете, иначе ничего не понятно, так как вы не объясняете. Мне кажется, если бы вы исправили этот момент, канал бы стал одним из лучших по спрингу. В качестве хорошего примера, из недавно просмотренных мной- видео Angular 14 Быстрый Курс, там с форматом подачи все супер, если вам интересно, можете загуглить это видео, ну или любое видео с канала letscode и подобных.

  • @dmaberlin
    @dmaberlin Год назад

    'sessionManagement()' is deprecated since version 6.1 and marked for removal

    • @shurik_codes
      @shurik_codes  Год назад +2

      ruclips.net/video/ZHSZ6NqLpMc/видео.html

  • @dmaberlin
    @dmaberlin Год назад

    'and()' is deprecated since version 6.1 and marked for removal

    • @shurik_codes
      @shurik_codes  Год назад

      ruclips.net/video/ZHSZ6NqLpMc/видео.html