← Назад к вопросам

Что такое метод авторизации?

2.0 Middle🔥 231 комментариев
#Веб-тестирование#Тестирование API

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI23 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Метод авторизацииМетод авторизации - механизм, который проверяет и подтверждает права пользователя на доступ к ресурсам или функциям приложения. Авторизация определяет ЧТО может делать пользователь, в отличие от аутентификации, которая определяет КТО пользователь.### Различие между аутентификацией и авторизациейАутентификация:- Проверка личности (КТО вы?)- Это вход в систему (логин и пароль)- Один раз при входе- Пример: проверка пароля, двухфакторная аутентификацияАвторизация:- Проверка прав доступа (ЧТО вы можете делать?)- Это контроль прав после входа- Постоянно при каждом запросе- Пример: админ может удалить пользователя, обычный пользователь не может### Основные методы авторизации#### 1. Ролевая авторизация (RBAC - Role Based Access Control)Система разделяет пользователей на роли, каждой роли дают права.Примеры ролей:- Admin - может делать всё- Moderator - может удалять комментарии- User - может создавать посты и комментарии- Guest - только просмотрПример в коде:Иф пользователь имеет роль Admin: - Разрешить доступ к удалению пользователей - Разрешить доступ к логам системыЕсли пользователь имеет роль User: - Разрешить создание поста - Запретить удаление других постов#### 2. Матрица доступа (ACL - Access Control List)Для каждого ресурса указывается, кто и что может делать.Пример:- Файл "document.txt": - Pavel: read, write, delete - John: read - Anonymous: нет доступа#### 3. Атрибутная авторизация (ABAC - Attribute Based Access Control)Решение о доступе принимается на основе атрибутов: пользователя, ресурса, окружения.Примеры атрибутов пользователя:- Роль: Admin, User- Отдел: HR, IT, Sales- Уровень доступа: Level 1, Level 2Примеры атрибутов ресурса:- Тип: документ, видео- Конфиденциальность: public, private, secret- Владелец: Pavel, JohnПримеры атрибутов окружения:- Время: только с 9 до 17 часов- IP: только из офиса- Устройство: только с корпоративного ПКПримеры правил:- Доступ разрешен, если: роль=Admin и ip находится в корпоративной сети- Доступ разрешен, если: роль=User и владелец=я и время между 9 и 17#### 4. Авторизация на основе атрибутов пользователяДоступ зависит от конкретных данных пользователя.Примеры:- Просмотр только своих заказов (по user_id)- Редактирование только своих постов- Доступ к отчётам только для своего отдела#### 5. JWT токены (JSON Web Token)Метод авторизации через токены.Процесс:1. Пользователь логинится2. Сервер создаёт JWT токен, в котором записывает: - user_id - role - permissions - expiration time3. Клиент сохраняет токен4. При каждом запросе отправляет токен5. Сервер проверяет токен и дает доступПример JWT: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjo0NSwicm9sZSI6ImFkbWluIn0.signature#### 6. OAuth 2.0Метод делегированной авторизации. Пользователь даёт приложению доступ к своему аккаунту в другом сервисе.Примеры:- "Войти через Google"- "Войти через Facebook"- "Войти через GitHub"Процесс:1. Приложение перенаправляет на Google2. Пользователь логинится в Google3. Google спрашивает: "Это приложение запрашивает доступ к вашему профилю. Разрешить?"4. Пользователь соглашается5. Google возвращает код авторизации6. Приложение обменивает код на токен7. Приложение может работать с профилем пользователя### Типы правБазовые права (CRUD):- Create - создать новый ресурс- Read - просмотреть ресурс- Update - изменить ресурс- Delete - удалить ресурсСпециальные права:- Управление пользователями- Просмотр логов- Изменение конфигурации- Экспорт данных- Импорт данных### Примеры авторизации в реальных приложениях#### Интернет-магазинНеавторизованный пользователь (Guest):- Может: просматривать товары, фильтровать, добавлять в корзину- Не может: оформлять заказ, просматривать историю заказовАвторизованный пользователь (User):- Может: оформлять заказы, просматривать свои заказы, писать рецензии- Не может: удалять товары, менять цены, видеть статистику продажАдминистратор (Admin):- Может: всё, включая удаление товаров, управление пользователями, просмотр статистики#### Социальная сетьПользователь (User):- Может: создавать посты, комментировать, лайкать- Не может: удалять чужие постыМодератор (Moderator):- Может: удалять оскорбительные комментарии, предупреждать пользователейАдминистратор (Admin):- Может: всё, включая удаление аккаунтов, просмотр приватных данных### Практический пример кодаПри запросе DELETE /users/123:1. Проверить, авторизован ли пользователь (есть ли токен?)2. Проверить, какая у пользователя роль3. Если роль=Admin: - Удалить пользователя - Вернуть успех4. Если роль=User: - Проверить, это его собственный аккаунт? - Если да: разрешить удаление - Если нет: запретить (403 Forbidden)5. Если неавторизован: - Запретить доступ (401 Unauthorized)### Ошибки авторизации401 Unauthorized - пользователь не авторизован (не залогинен)403 Forbidden - пользователь авторизован, но у него нет прав на эту операцию404 Not Found - иногда используют вместо 403 для скрытия информации### Для QA инженераПри тестировании авторизации проверяйте:- Админ может делать все операции- Обычный пользователь может делать только свои операции- Гость не может делать защищённые операции- Возвращаются корректные коды ошибок (401, 403)- Правильно отображаются сообщения об ошибках- Эксплуатации прав (privilege escalation) невозможны### ЗаключениеАвторизация - критически важный механизм безопасности. Хороший QA инженер должен понимать различные методы авторизации и уметь тестировать правильность реализации, чтобы предотвратить несанкционированный доступ к данным и функциям приложения.