HTTP 401 Unauthorized или 403 Forbidden для «отключенного» пользователя?

Служба аутентификации позволяет отключать учетные записи пользователей (своего рода мягкое удаление).

Если сервер затем получает запрос аутентификации для отключенного пользователя, который в противном случае был бы действительным, должен ли сервер вернуть 401 или 403? С любым кодом состояния я бы вернул сообщение о том, что учетная запись отключена.

Для быстрого ознакомления приведены соответствующие цитаты из спецификации HTTP / 1.1 (выделено мной):

401 Неавторизованный

Запрос требует аутентификации пользователя. Ответ ДОЛЖЕН содержать Поле заголовка WWW-Authenticate (раздел 14.47), содержащее запрос применимо к запрошенному ресурсу. Клиент МОЖЕТ повторить запрос с подходящим полем заголовка авторизации (раздел 14.8). Если запрос уже включает учетные данные авторизации , затем 401 ответ указывает, что авторизация была отклонена для тех полномочия . Если ответ 401 содержит тот же вызов, что и предыдущий ответ, и пользовательский агент уже попытался аутентификации хотя бы один раз, тогда пользователю СЛЕДУЕТ предоставить сущность, указанная в ответе , поскольку эта сущность может включить соответствующую диагностическую информацию.Аутентификация доступа HTTP объясняется в разделе «HTTP-аутентификация: базовый и дайджест-доступ». Аутентификация »[43].

403 Запрещено

Сервер понял запрос, но отказывается его выполнить. Авторизация не поможет , и запрос НЕ ДОЛЖЕН повторяться . Если метод запроса не был HEAD и сервер желает сделать публично, почему запрос не был выполнен, он ДОЛЖЕН описывать причина отказа в субъекте . Если сервер не желает сделать эту информацию доступной для клиента, код статуса 404 Вместо этого можно использовать (Not Found).

26
задан Dolph 9 February 2012 в 23:14
поделиться