О чём курс
Spring Security – это самый популярный фреймворк для аутентификации пользователей и ограничения доступа в Enterprise приложении. В данном курсе рассматриваются механизмы аутентификации и авторизации (и их практическое применение).
На курсе рассматриваются:
1. Теоретические основы задачи ограничения доступа к Enterprise приложению.
2. Абстракции Spring Security.
3. Настройка конфигурации Spring Security на практике.
4. Применение Spring Security для ограничения доступа к различным частям приложения.
Данный курс содержит множество заданий, включая интерактивные упражнения.
Цели
- научиться решать различные задачи аутентификации;
- научиться управлять доступом в Enterprise приложении с помощью Spring Security.
Целевая аудитория
Java разработчики с опытом работы от года (требуется опыт в Spring + Spring Boot)
Предварительная подготовка
Для кого
Разработчик
Улучшаемые навыки
Основы Spring Security
Аутентификация и авторизация
Защита RESTful веб-сервисов
Настройка безопасности для веб-приложений
Интеграция с другими системами безопасности
Темы курса
01
Введение в Spring Security – 2 ч. (теория – 1 ч. 30 мин., практика – 30 мин.)
- Задачи безопасности
-
Идентификация, аутентификация, авторизация
-
Примеры конфигурации Spring Security
-
Лабораторная работа «Обзор применения Spring Security» (30 мин.)
-
Возможности Spring Security
02
Аутентификация – 12 ч. (теория – 8 ч. 40 мин., практика – 3 ч. 20 мин.)
- HTTP Basic аутентификация
-
Лабораторная работа «Настройка HTTP Basic аутентификации» (30 мин.)
-
Deny-by-Default/Allow-by-Default
-
Основные абстракции Spring Security
-
Лабораторная работа «Добавление хранилища пользователей» (40 мин.)
-
Интеграция с Web, аутентификация в Web-приложении
-
Servlets API, DelegatingFilterProxy, FilterChain, фильтры Spring Security
-
Form-based аутентификация
-
Токены vs. Session Key
-
CORS, CSRF, CSRF-токен, XSS
-
Лабораторная работа «Логин-форма» (50 мин.)
-
Anonymous аутентификация
-
Лабораторная работа «Добавление анонимной аутентификации» (30 мин.)
- Remember-Me аутентификация
-
Persistent tokens
-
Hash-based tokens
-
JWT
-
Лабораторная работа «Hash-based токены» (20 мин.)
-
X509 аутентификация
-
Лабораторная работа «Аутентификация с помощью X509 сертификатов» (30 мин.)
03
Авторизация – 4 ч. (теория – 2 ч. 30 мин., практика – 1 ч. 30 мин.)
- Абстракции авторизации Spring Security
-
Авторизация на основе URL
-
Авторизация на основе вызовов методов
-
@Secured, @Pre/@Post-аннотации
-
Domain Objects Security (ACL)
-
Лабораторная работа «ACL и авторизация на основе методов» (1 ч. 30 мин.)
04
OAuth 2.0 – 2 ч. (теория – 2 ч.)
- OAuth 2.0 роли
-
Access- и Refresh-токены
-
Grant Type: Authorization Code
-
Grant Type: Password
-
Grant Type: Client credentials
-
Grant Type: Implicit
-
Домашнее задание
05
Итого: теория – 14,7 ч. (73%), практика – 5,3 ч. (27%)
Чему вы научитесь
01
Научитесь основным концепциям Spring Security, включая архитектуру и компоненты
02
Освоите методы настройки аутентификации и авторизации пользователей
03
Научитесь применять Spring Security для защиты RESTful веб-сервисов
04
Освоите методы настройки безопасности для веб-приложений, включая защиту от CSRF
05
Научитесь интегрировать Spring Security с другими системами и библиотеками для управления безопасностью
Ведущий курса