通过401 Unauthorized提供登录表单

时间:2010-09-17 14:25:18

标签: http authentication

假设未经身份验证的用户尝试获取只有授权用户才能看到的页面:/ profile / preferences

通常的做法是使用401 Unauthorized以及登录页面的内容来回复此问题,还是更好地服务302找到重定向到登录页面然后将用户发送回/ profile / preferences?

每种方法的优点和缺点是什么?您能否使用第一种方法提供网站示例?

1 个答案:

答案 0 :(得分:1)

如果您正在谈论“登录页面”,那么您正在使用表单身份验证。如果要在HTTP级别进行身份验证(例如,使用basic-auth或digest-auth),则仅提供401才有意义,因为401响应必须包含WWW-Authenticate:标头以及浏览器的挑战回应。

此外,如果您正在进行表单身份验证,那么您几乎肯定会想要提供301 - 您的用户永远无法通过您的登录屏幕。 :-) 301用于永久性移动。对于类似表单身份验证的重定向,您应该使用302。