Код состояния HTTP для отсутствующей аутентификации - PullRequest
20 голосов
/ 29 ноября 2010

HTTP определяет статус 401 Не авторизован за отсутствующей аутентификацией, но этот статус относится только к аутентификации HTTP. Какой статус я должен возвращать в системе на основе файлов cookie сеанса, когда происходит несанкционированный запрос?

Ответы [ 3 ]

25 голосов
/ 29 ноября 2010

Формально 403 Forbidden - это правильный ответ.Он определен как

Авторизация не поможет, и запрос НЕ ДОЛЖЕН повторяться.

Запутанная часть может быть «Авторизация не поможет», но они действительно означаютHTTP-аутентификация "(WWW-Authenticate)

5 голосов
/ 29 ноября 2010

403 Я считаю, что это технически правильно (и, вероятно, наиболее эффективно, если вы реализуете пользовательский API / протокол).

401 не подходит, поскольку это относится к авторизации с заголовком WWW-Authenticate, который сеансЭто не файл cookie.

Если это общедоступный веб-сайт, на котором вы пытаетесь запретить доступ на основе файла cookie сеанса, 200 с соответствующим телом для указания необходимости входа или 302 временного перенаправления в журнал.на странице часто бывает лучше.

0 голосов
/ 29 ноября 2010

Вы можете использовать условие теста и передать

Код ошибки: 401.1-Ошибка входа в систему.Попытка входа в систему не удалась, возможно, из-за неверного имени пользователя или пароля.

Который специально используется для неверного пароля или несоответствующего имени пользователя и пароля.Надеюсь, это поможет вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...