В первом ролике цикла я демонстрирую разработку классического веб-приложения со Spring WebMVC, Thymeleaf и Jakarta Bean Validation. В ролике демонстрируется несколько способов создания нового проекта на основе Spring Boot, вкратце описывается многоуровневая архитектура и шаблон проектирования MVC, создание базовых компонентов приложения, валидация данных и интернационализация. Кроме этого продемонстрировано несколько способов запуска приложения на основе Spring Boot.
Читать далее SC24EP01 Разработка веб-приложенияРубрика: Java EE
Записи, посвящённые технологам, связанным с Enterprise Java
Разработка проектов со Spring
Рассказывая о результатах своей видео-блоггерской деятельности за 2023 год, я упомянул о желании записать как минимум один цикл роликов в 2024 году. И этот цикл роликов у меня уже готов! Ну, а посвящён он снова разработке проектов со Spring, но на этот раз, в отличие от серии «Spring по верхам» я решил охватить больший набор тем, а заодно раскрыть их более подробно.
В этом видео я рассказываю о том, что вас ждёт в этом цикле роликов.
Читать далее Разработка проектов со SpringCSRF – Spring Security в деталях
Наверняка каждый разработчик веб-приложений или сайтов на практике сталкивался с защитой от CSRF-атак, предоставляемой фреймворками и библиотеками. В фреймворке Spring Security защита от этого вида эксплойтов тоже присутствует, однако многие начинающие разработчики предпочитают отключать её, не пытаясь разобраться в природе CSRF-атак, способах защиты от них и правильном использовании средств защиты.
В этой статье будет описан принцип действия CSRF-атаки и продемонстрированы несколько вариантов приведения таких атак. Затем будут перечислены признаки уязвимости веб-приложений перед CSRF-атаками и способы защиты от них. После этого будет подробно описана защита от CSRF-атак, предоставляемая Spring Security: компоненты, реализующие её, и их настройка. В завершение статьи будет описано несколько сценариев использования защиты от CSRF-атак в разных видах веб-приложений: в сайтах со статическими страницами, в сайтах с асинхронными запросами и в одностраничных веб-приложениях (SPA, PWA).
Читать далее CSRF – Spring Security в деталяхDocker Compose и Testcontainers в Spring Boot 3.1
Одними из наиболее значимых нововведений в недавнем релизе Spring Boot 3.1 на мой взгляд являются поддержка Docker Compose и Testcontainers, а так же новая концепция подключений к сервисам, которая позволяет с минимальным количеством кода подключаться к сервисам, развёрнутым в контейнерах.
Читать далее Docker Compose и Testcontainers в Spring Boot 3.1Точки входа аутентификации — Spring Security
Для того чтобы Spring Security инициировал процесс аутентификации пользователя используются специальные компоненты — точки входа, которые реализуют интерфейс AuthenticationEntryPoint
. Точка входа может инициировать процесс аутентификации в зависимости от выбранного способа аутентификации. Так, если в приложении используется Basic-аутентификация, пользователю будет отправлен HTTP-ответ со статусом 401 Unauthorized
и заголовком WWW-Authenticate: Authorize Basic …
, о чём я уже рассказывал в статье о Basic-аутентификации.
Отладка контекста безопасности — Spring Security в деталях
При работе с контекстом безопасности Spring Security иногда возникают ситуации, когда разрабатываемое приложение начинает себя вести не очевидно, отвечать ошибками с HTTP-статусом 403, но без каких-либо подробностей, в том числе и в логах. В рамках этой статьи предлагаю разобраться с тем, как можно добиться большей конкретики от Spring Security при возникновении подобных ситуаций.
Читать далее Отладка контекста безопасности — Spring Security в деталяхПолучение информации о пользователе — Spring Security в деталях
Зачастую при реализации какой-то функциональности в приложении требуется доступ к информации о текущем аутентифицированном пользователе. Spring Security предоставляет несколько способов получения информации о пользователе, предлагаю их рассмотреть в этой статье.
Читать далее Получение информации о пользователе — Spring Security в деталяхBasic-аутентификация в Spring Security
Одним из наиболее простых способов аутентификации в HTTP является Basic-аутентификация. Данный способ аутентификации можно назвать универсальным, так как он может использоваться как на обычных сайтах, так и в сервисах, реализующих REST или SOAP. Кроме того Basic-аутентификацию можно использовать и в протоколах на основе HTTP, например в WebDAV.
В Spring Security есть поддержка Basic-аутентификации, и, более того, это один из основных способов аутентификации в Spring Security наравне с традиционной формой входа.
Читать далее Basic-аутентификация в Spring SecurityАутентификация в Spring Security
Процесс предоставления пользователю доступа к информационной системе состоит из трёх этапов: идентификации, аутентификации и авторизации.
Читать далее Аутентификация в Spring SecurityПогружение в Spring Security для Servlet API
Spring Security — это очень мощный и гибкий фреймворк, применяемый для обеспечения безопасности приложений на платформе Java, преимущественно веб-приложений, основанных на Spring Framework. Впрочем, он может применяться и в проектах на основе Jakarta Servlet API, не использующих Spring Framework.
Читать далее Погружение в Spring Security для Servlet API