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 - Навчання та стиль
Работа в 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
Поддержка на первое время в Германии!
Спасибо. Прекрасный рассказ.
Спасибо!
Очень помогло разобраться с секьюрити
Спасибо, отличное видео. Можно еще показать как сделать свою форму входа вместо той что предоставляет спринг. И форму регистрации как добавить. Еще раз спасибо!
Очень хорошая подача материала, спасибо автору.
Спасибо
Спасибо Вам!
по чаще бы видео, спасибо
Вы так хорошо рассказываете. Могли бы сделат материал по Angular_2 + spring?
Сделай видео по OAuth2 плиз
Как руки дойдут, сделаем
Большое спасибо за видео. Не предполагается в следующих видео работа со Spring Security для REST API?
Что вы этим имеете в виду? Чем по вашему должна отличаться работа со Spring Security для REST API от "для стандартного web-приложения"? Спрашиваю из любопытства, может что-то конкретное ожидаете ;-)
Я уверен, что по незнанию технологии не так конкретно задал вопрос. Скорее для полноты картины я думал увидеть работу с Postman и авторизацию над методами.
Думаю до этого еще доберемся, мы снимаем цикл видео по Spring Security. И рано или поздно прийдет очередь как закрывать методы только для авторизованных.
Евгений, скажите пожалуйста, с чем может быть связанно, что при добавлении @Data (11:30 на видео) ошибка не пропадает? dependency добавлены import lombok.Data имеется, версия Intelliji Idea аналогичная
Для IntellijIdea еще нужен плагин для Lombok. У вас установлен?
помогло, спасибо!
Скажите пожалуйста какая версия у вас данного плагина и Intellijiidea. т.к. возникают проблемы с builder()?
Intellij Idea 2016.3.2, Lombok plugin - 0.13.16. Какие у вас проблемы с builder?
просто плагин отказывается его видеть данном случае в файле UserService. У них эта проблема здесь в комментариях описана plugins.jetbrains.com/idea/plugin/6317-lombok-plugin
приходиться делать руками, тогда работает))
Странно. Добавляю аннотацию @Data, класс как был подчеркнутым, так и остался. Ругается что не реализованы методы имплеменченного интерфейса. Плагин установлен, Annotation Processor включен, в pom.xml плагин добавлен. Не работает, зараза.
Добрый день. Способ настройки UserService, Spring Security из видео подойдет для rest сервиса? Или нужно как-то по другому производить настройку?
Если не понимаете, то начните с этого способа. В целом он пойдет, как что-то начнет мешаться или обнаружите что-то что ну явно не вписывается в концепцию REST сервера (например форма логина) будете смотреть чем заменить.
А вы не могли бы объяснить в UserService у вас есть конструкция userDao.findByUsername("user").ifPresent(user -> { что это за user и откуда он берется?
Если кратко, то это лямбда функция из Java8. Если полнее, то findByUsername возвращает Optional, у которого есть метод ifPresent. Если говорить старыми терминами из java до 8, то ifPresent принимает в качестве параметра объект у которого есть определенный метод. Если Optional задан, то вызывается как раз этот метод и ему передается опять таки в качестве параметра user из Optional. Lambda из Java8 позволяет это все сократить до вида (user) -> { тело метода }. А вообще почитайте про лямбда в Java8 ;-)
Ну про Optional и ifPresent почитал до того как задать вопрос ) У меня неясность с user -> Я делаю с базой MySQL и там UserRepository и нет метода ... -> user.setPassword. Смотрю ваш UserDao и пытаюсь понять откуда он взялся.
user.setPassword просто сгенерирован с помощью Lombok. скорее всего вы не рассмотрели детально класс User. а все остальное это просто лямбда, она одинаково работает и с монго и с мускулом по простой причине, что не привязана никак к бд)) это "вкусняшка" джавы)
извините за наглость, может планируете онлайн на лайвкодинг? или твиче
Нет не планируем. А для чего?