Spring Boot Web Application (MVC): добавляем reCaptcha, поддержку rememberMe и хранения сессий в БД. Spring Boot упакован многими удобными механизмами, но поддержки капчи “из коробки” не сделано, что мы и исправим. Код из видео:
Зависимость на Spring Session:
Настройки для Spring Session и reCaptcha:
Для примера мы возьмём проект reCaptcha, т.к. он достаточно быстрый, надёжный и легко встраивается в любой проект. Первым делом нужно зарегистрировать аккаунт в проекте recaptcha и получить все необходимые ключи. Сайт проекта reCaptcha:
Для проверки корректности пользовательского ввода нам необходимо делать rest запросы к серверу recaptcha. Для этого мы используем встроенный в Spring Boot rest клиент, кратко описанный в следующем гайде:
Для поддержки rememberMe достаточно в настройках Spring Security добавить вызов одного метода, имеющего то же самое имя: rememberMe. После чего пользователь будет автоматически авторизовываться в нашем приложении, даже если у него истекло время действия сессии на web сервере. Но если у нас имеется несколько серверов и после технических манипуляций, вызывающих перезагрузку сервера, у нас будет пропадать информация, необходимая для автоматической авторизации пользователя. Поэтому мы добавим в наше приложение поддержку Spring Session JDBC, что позволит хранить активные сессии пользовтелей в БД. Spring session JDBC:
Сайт bootstrap:
Для проверки корректности работы приложения можно использовать сервис временых почтовых ящиков:
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ➡ Твиттер: / letscodedru ➡ Чат в Discord: / discord ➡ Группа Вконтакте:
https://vk.com/letscodedru ➡ Канал в Telegram:
➡ Чат в Telegram:
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ Поддержать проект: ➡ Patreon / letscodedru ➡ Яндекс.Деньги
➡ PayPal paypal.me/letscodedru ➡ Qiwi
➡ WebMoney/BitCoin
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ Ссылка на канал: / @letscodedru Ссылка на Яндекс.Дзен: