Ответ
Аутентификация — это проверка личности пользователя, подтверждение того, что он тот, за кого себя выдает. Авторизация — это проверка прав доступа к конкретным ресурсам или действиям после успешной аутентификации.
Простыми словами:
- Аутентификация: «Кто ты?» (логин/пароль, токен, отпечаток пальца).
- Авторизация: «Что тебе разрешено делать?» (роли, права, ACL).
С точки зрения тестировщика:
- Тестирование аутентификации:
- Проверка корректности работы с учетными данными (правильный/неправильный пароль, блокировка после N попыток, восстановление доступа).
- Тестирование альтернативных методов (OAuth, биометрия, одноразовые коды).
- Проверка на уязвимости (перебор паролей, SQL-инъекция в форму входа).
- Тестирование авторизации:
- Проверка вертикального контроля доступа: Может ли обычный пользователь получить доступ к функциям администратора (например, через прямой URL
/admin/panel)? - Проверка горизонтального контроля доступа: Может ли пользователь A получить доступ к данным пользователя B (например, изменив ID в запросе
GET /orders/123наGET /orders/456)? - Тестирование ролевой модели (RBAC): соответствуют ли права каждой роли заявленным в требованиях.
- Проверка вертикального контроля доступа: Может ли обычный пользователь получить доступ к функциям администратора (например, через прямой URL
Пример тест-кейса:
- Аутентифицируйтесь как пользователь с ролью
USER. - Попробуйте отправить
POST-запрос на эндпоинт/api/v1/users/delete, предназначенный только для ролиADMIN. - Ожидаемый результат: Должен вернуться ответ
403 Forbidden(или401 Unauthorized), а действие не должно быть выполнено. Успешное выполнение — критическая уязвимость.
Видео-ответы
▶
Мок-собеседование на Middle Java-разработчика | Как пройти интервью в 2025 году?
▶
Успешное собеседование Middle Java в холдинг T1
▶
Собеседование на Middle PHP разработчика (офер получен)
▶
Собеседование Middle Python Developer на $2000 #6
▶
Собеседование на Java-разработчика, вопросы для подготовки: finalize method, ArrayList, REST и SOAP
▶
Миддл притворился Джуном? Чтобы что...?? / Лайвкодинг / Техсобес Junior Python Developer
▶
16 лет и 4 года опыта в программировании?
▶
Из Node JS в .NET разработчики | Тестовое собеседование C#
▶
Интервью на позицию junior+/middle
▶
Джун пишет веб и решает задачи на LeetCode? / Лайвкодинг как в Бигтехe / Техсобес Junior Python Dev
▶
Моковое собеседование на позицию Junior Системного аналитика | Solvery + Бизнес-анализ & IT