我正在写一些代码,以有用的方式响应Web应用程序中的过期登录。这是基于表单的登录。这是我想决定的HTTP状态码。
我试过401,但这会导致浏览器中弹出一个验证对话框。我发现一些帖子提到了一些微软应用程序中使用的错误 "440 Login Expired",但我在W3C文档中找不到任何关于这个问题的内容,也找不到任何其他似乎适合过期表单登录的代码。
那么,用440来回应是否可以--这是一种特别的标准吗?还是有更好的代码被其他人使用?或者说,这只是一个应用程序的案例?
非常感谢
这可能是一个近似于 登录表单的HTTP状态码是否正确?. 你的登录是否已经过期或者你是否从来没有过登录应该没有区别。
在其他问题上给出的答案是
但我缺少的是登录表单如何传递的真正区别。它可以是*注入作为对当前请求的响应(这就是401答案所建议做的事情)*或者用重定向来交付,例如302到一个登录页面,一旦完成对话,就会重定向回原始请求。
我已经用302重定向到登录页面运行我的应用程序10年了。但我不喜欢它了。我想返回401,这样我的脚本代理、REST等就能正常工作了。
那么,需要做什么才能真正 解决 这个问题是为了检查浏览器在收到带有WWW-Authentication头的401响应时,如果没有摘要或基本的挑战,会有什么表现。如果他们总是带起他们的对话,那么无论我们认为怎样做才是正确的、合适的,都是不行的。
我还需要发送带有Location:头的401,看看浏览器是否会重定向。