Spring Boot Web Application (MVC): добавляем reCaptcha, поддержку rememberMe и хранения сессий в БД. Spring Boot упакован многими удобными механизмами, но поддержки капчи “из коробки” не сделано, что мы и исправим.
Код из видео:
github.com/dru...
Зависимость на Spring Session:
gist.github.co...
Настройки для Spring Session и reCaptcha:
gist.github.co...
Для примера мы возьмём проект reCaptcha, т.к. он достаточно быстрый, надёжный и легко встраивается в любой проект.
Первым делом нужно зарегистрировать аккаунт в проекте recaptcha и получить все необходимые ключи.
Сайт проекта reCaptcha:
www.google.com...
developers.goo...
Для проверки корректности пользовательского ввода нам необходимо делать rest запросы к серверу recaptcha. Для этого мы используем встроенный в Spring Boot rest клиент, кратко описанный в следующем гайде:
spring.io/guid...
Для поддержки rememberMe достаточно в настройках Spring Security добавить вызов одного метода, имеющего то же самое имя: rememberMe. После чего пользователь будет автоматически авторизовываться в нашем приложении, даже если у него истекло время действия сессии на web сервере.
Но если у нас имеется несколько серверов и после технических манипуляций, вызывающих перезагрузку сервера, у нас будет пропадать информация, необходимая для автоматической авторизации пользователя. Поэтому мы добавим в наше приложение поддержку Spring Session JDBC, что позволит хранить активные сессии пользовтелей в БД.
Spring session JDBC:
docs.spring.io...
Сайт bootstrap:
getbootstrap.c...
Для проверки корректности работы приложения можно использовать сервис временых почтовых ящиков:
temp-mail.org/ru/
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
➡ Твиттер: / letscodedru
➡ Чат в Discord: / discord
➡ Группа Вконтакте: vk.com/letscod...
➡ Канал в Telegram: t.me/letsCode_dru
➡ Чат в Telegram: t.me/joinchat/...
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Поддержать проект:
➡ Patreon / letscodedru
➡ Яндекс.Деньги money.yandex.r...
➡ PayPal paypal.me/letscodedru
➡ Qiwi qiwi.me/letscode
➡ WebMoney/BitCoin funding.webmon...
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Ссылка на канал: / @letscodedru
Ссылка на Яндекс.Дзен: zen.yandex.ru/...
Негізгі бет Spring Boot: reCaptcha, rest client, rememberMe и сохранение сессий в БД
Пікірлер: 126