Завдання з Spring Security: Тестуйте та поглиблюйте своє розуміння через практичні завдання.

pic

Згенеровано за допомогою ШІ

Перевірте та вдоскональте свої знання з 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.

Ви можете знайти мої рішення в цьому репозиторії

tawfik-s/Spring-Security-Tasks-Article-Solution: Опануйте Spring Security через практику. Рішення для завдань Spring Security, написані в статті з коментарями, вільно використовуйте, змінюйте та поширюйте код.

Перекладено з: Spring Security Tasks: Test and deepen your understanding through practical tasks.

Leave a Reply

Your email address will not be published. Required fields are marked *