我们有一个休息服务,用于验证我们的客户。在某些情况下,我们希望向客户报告的信息不仅仅是"授权失败"。例如,如果他们的帐户在太多尝试后被锁定,我们将向客户报告他们的帐户已被锁定。还有其他情况,因为业务用例,我们将向他们报告其他问题。即使用户名/密码正确,任何这些问题都将拒绝用户登录。
我认为可能在这些情况下返回 401授权可能不正确,但在查看http状态代码后,我不确定哪种返回代码是合适的。也许 403 Forbidden ?意识到我必须将问题的措辞归还给客户。
答案 0 :(得分:2)
即使客户端拥有正确的登录名和密码,他也没有强制性的 权限 ,所以我选择 403 Forbidden 强>
401 Unauthorized 和 403 Forbidden 之间的区别详见here。