1. Обзор
В этом руководстве мы рассмотрим самоуверенный подход Spring Boot к безопасности.
Проще говоря, мы собираемся сосредоточиться на конфигурации безопасности по умолчанию и на том, как мы можем отключить или настроить ее, если нам это нужно.
В этом руководстве основное внимание будет уделено входу в систему с помощью Spring Security . Мы собираемся использовать предыдущий пример Spring MVC , так как это необходимая часть настройки веб-приложения вместе с механизмом входа в систему.
При работе с Spring Boot стартер spring-boot-starter-security
автоматически включает все зависимости, такие как spring-security-core
, spring-security-web
и spring-security-config
среди прочих:
Мы можем захотеть применить несколько фильтров безопасности в разных путях наших приложений Spring Boot.
В этом руководстве мы рассмотрим два подхода к настройке нашей безопасности — с помощью @EnableWebSecurity
и @EnableGlobalMethodSecurity
.
Чтобы проиллюстрировать различия, мы будем использовать простое приложение, которое имеет некоторые административные ресурсы, аутентифицированные пользовательские ресурсы. Мы также предоставим ему раздел с общедоступными ресурсами, которые мы рады каждому загрузить.
В этой статье мы объясним, как настроить Spring Security с помощью Maven , и рассмотрим конкретные варианты использования зависимостей Spring Security. Вы можете найти последние выпуски Spring Security на Maven Central .
Это продолжение предыдущей статьи Spring with Maven , так что для зависимостей Spring, не связанных с безопасностью, это то место, с которого стоит начать.
пружинное ядро безопасности
В этом руководстве показано, как получить данные пользователя в Spring Security.
Текущий аутентифицированный пользователь доступен в Spring через ряд различных механизмов. Давайте сначала рассмотрим наиболее распространенное решение — программный доступ.
В этой статье мы реализуем базовый процесс регистрации с помощью Spring Security. Это основано на концепциях, рассмотренных в предыдущей статье , где мы рассмотрели вход в систему.
Цель состоит в том, чтобы добавить полный процесс регистрации, который позволяет пользователю регистрироваться, проверять и сохранять пользовательские данные.
Возможность выполнять интеграционные тесты без необходимости в автономной среде интеграции является ценной функцией для любого стека программного обеспечения. Полная интеграция Spring Boot с Spring Security упрощает тестирование компонентов, взаимодействующих с уровнем безопасности.
В этом кратком руководстве мы рассмотрим использование @MockMvcTest
и @SpringBootTest
для выполнения интеграционных тестов с поддержкой безопасности.
Давайте сначала добавим зависимости, которые нам понадобятся для нашего примера: