О чём курс
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 с другими системами и библиотеками для управления безопасностью
Ведущий курса