Згенеровано за допомогою ШІ
Перевірте та вдоскональте свої знання з Spring Security за допомогою цього всеосяжного тесту. Кожне завдання кидає вам виклик у налаштуванні Spring Security для конкретного випадку використання. Ідеально підходить для тих, хто хоче зміцнити свої навички в реальних сценаріях.
Завдання 1: Базова аутентифікація
- Налаштуйте додаток Spring Boot з Spring Security, щоб вимагати аутентифікацію за допомогою імені користувача та пароля для всіх кінцевих точок.
- Використовуйте дані користувачів в пам'яті з ролями
USER
таADMIN
.
Завдання 2: Контроль доступу на основі ролей
- Реалізуйте контроль доступу на основі ролей:
USER
може отримати доступ до/user/**
.ADMIN
може отримати доступ до/admin/**
та/user/**
.- Обмежте доступ до
/admin/**
лише для користувачів з роллюADMIN
.
Завдання 3: Користувацька сторінка входу
- Створіть користувацьку сторінку входу та налаштуйте Spring Security для її використання замість стандартної форми входу.
- Перенаправляйте користувачів на різні сторінки після входу залежно від їх ролей.
Завдання 4: Кодування паролів
- Інтегруйте кодувальник паролів (наприклад,
BCryptPasswordEncoder
), щоб хешувати та перевіряти паролі, збережені в базі даних. - Використовуйте базу даних замість користувачів в пам'яті.
Завдання 5: Аутентифікація за допомогою JWT
- Налаштуйте додаток для використання JWT для аутентифікації.
- Реалізуйте генерацію та перевірку токенів.
- Захистіть кінцеві точки за допомогою згенерованих токенів JWT.
- Я використовував бібліотеку JJWT для вирішення цього завдання, ви можете використовувати її або бібліотеку Auth0.
Завдання 6: Вхід через OAuth2
- Налаштуйте вхід через OAuth2 з GitHub як постачальником ідентифікації.
- Дозвольте користувачам входити за допомогою їхніх акаунтів GitHub.
Завдання 7: Безпека на рівні методів
- Увімкніть анотації безпеки на рівні методів.
- Використовуйте
@PreAuthorize
та@PostAuthorize
для захисту конкретних методів у сервісі.
Завдання 8: Захист від CSRF
- Увімкніть захист від CSRF у додатку.
- Налаштуйте CSRF токени для відправки форм.
Завдання 9: Аутентифікація через LDAP
- Налаштуйте додаток для аутентифікації користувачів через сервер LDAP.
Ви можете знайти мої рішення в цьому репозиторії
Перекладено з: Spring Security Tasks: Test and deepen your understanding through practical tasks.