缺少身份验证的HTTP状态代码

时间:2010-11-29 08:11:32

标签: http rest http-status-codes

HTTP为缺少的身份验证定义状态401 Unauthorized,但此状态仅适用于HTTP身份验证。当未经授权的请求发生时,我应该使用基于会话cookie的系统返回什么状态?

3 个答案:

答案 0 :(得分:25)

正式的,403 Forbidden是正确的回应。它被定义为

  

授权无效,请求不应重复。

令人困惑的部分可能是“授权无效”,但它们的确意味着“HTTP身份验证”(WWW-Authenticate)

答案 1 :(得分:5)

403我认为技术上是正确的(如果您正在实施自定义API /协议,则可能最有效)。

401是不合适的,因为它引用了具有WWW-Authenticate标头的授权,而会话cookie不是。

如果这是一个面向公众的网站,您试图根据会话cookie拒绝访问,200具有适当的主体以指示需要登录或302临时重定向到登录页面通常是最佳的。< / p>

答案 2 :(得分:-1)

您可以使用测试条件并传递

错误代码:401.1-Logon失败。登录尝试失败,可能是因为用户名或密码无效。

专门用于错误密码或不匹配的用户名和密码。 希望这会对你有所帮助。