![Apache 身份验证:用户提供错误凭证并随后取消后出现错误的 ErrorDocument](https://linux22.com/image/625535/Apache%20%E8%BA%AB%E4%BB%BD%E9%AA%8C%E8%AF%81%EF%BC%9A%E7%94%A8%E6%88%B7%E6%8F%90%E4%BE%9B%E9%94%99%E8%AF%AF%E5%87%AD%E8%AF%81%E5%B9%B6%E9%9A%8F%E5%90%8E%E5%8F%96%E6%B6%88%E5%90%8E%E5%87%BA%E7%8E%B0%E9%94%99%E8%AF%AF%E7%9A%84%20ErrorDocument.png)
我们已将 Apache HTTPd 配置为使用
- 基本身份验证
- 提供自定义错误文档
现在,当用户在第一步取消身份验证或提交错误的凭证后,用户会得到不同的结果。
例子
用户调用以下 URL:“example.com/pageXYZ
预期行为
- 浏览器显示身份验证窗口
- 用户取消认证
- 显示正确的 ErrorDocument(附加登录掩码并重定向至 pageXYZ)
错误(?)行为
- 浏览器显示身份验证窗口
- 用户提交错误的凭证
- 浏览器再次显示身份验证窗口
- 用户取消认证
- 显示正确的 ErrorDocument,但是没有重定向到页面XYZ
是否有人知道这种行为或可以告诉我们为什么会这样,以及是否有可能在两种情况下获得预期的行为。
答案1
好的,刚刚发现,问题出在底层应用程序中,而不是 Apache HTTPd。
在第一次传递 ErrorDocument 的请求中,它会进行一些处理,但在后续请求中则不会进行。