Http 我如何正确地告诉客户它';是否未授权并显示登录页面?

Http 我如何正确地告诉客户它';是否未授权并显示登录页面?,http,authentication,http-status-code-403,Http,Authentication,Http Status Code 403,因此,我有一个自定义的身份验证系统(我知道我在做什么)。但是,当用户试图访问安全页面时,我得到了我认为是不正确的响应模式 基本上,我的设想是: 用户访问/securepage 403响应被发回,同时以某种方式显示登录屏幕 目前正在发生的是: 302从/securepage重定向到/login 200从/login 正确的处理方法是什么?到目前为止,我的想法是: 302重定向到登录,然后登录回复403 403服务器端传输到登录的错误代码(尽管这增加了大量复杂性) 这是正确的 正确的处理方法是什

因此,我有一个自定义的身份验证系统(我知道我在做什么)。但是,当用户试图访问安全页面时,我得到了我认为是不正确的响应模式

基本上,我的设想是:

  • 用户访问
    /securepage
  • 403响应被发回,同时以某种方式显示登录屏幕
  • 目前正在发生的是:

  • 302从
    /securepage
    重定向到
    /login
  • 200从
    /login
  • 正确的处理方法是什么?到目前为止,我的想法是:

    • 302重定向到登录,然后登录回复403
    • 403服务器端传输到登录的错误代码(尽管这增加了大量复杂性)
    • 这是正确的

    正确的处理方法是什么

    这是正确的

    403表示“禁止”

    如果有什么不同的话,你会使用401“未经授权”,但这需要你也用挑战来回应,而你没有这样做


    因为您实际上显示的是一个登录页面,所以重定向后的登录页面带有200是正确的行为

    我唯一关心的是google为我的登录页面编制索引,像IIS和Lotus Domino这样的Web服务器(是的,我知道spider.txt还有很长的路要走,但仍然如此)通常使用登录表单向已经通过身份验证但没有足够特权查看请求资源的用户显示“拒绝访问”消息。对于初始登录,此消息/div的空间将保留为空。