1

我需要一个跨平台的解决方案来正确地进行摘要访问身份验证,最好对 POST 请求使用“qop=auth-int”。似乎只有 Opera 会以 qop=auth-int 响应,而 IE 6 在任何摘要方面都有问题。

所以我心想:我知道,我将只做一个 AJAX 请求并使用 setRequestHeader() 自己实现身份验证。我已经实现了执行 RFC-2617 所需的服务器端东西,所以我唯一的主要障碍是弄清楚如何通过 javascript 获得足够的控制来解析 401 WWW-Authenticate 标头并形成适当的响应。

这就是问题所在:看起来浏览器处理了 401,而不是允许将其传递给 XMLHttpRequest.onreadystatechange。如果已经为站点存储了用户/通行证,则 Chrome 和 Firefox 将静默处理身份验证标头上的附加信息。如果没有,他们将弹出正常的登录框。

在您警告我 Digest Auth 的不足之处并告诉我我需要使用 TLS 之前——我意识到安全风险。服务器是一个资源非常有限的嵌入式平台,SSL 并不是一个真正的选择。服务器没有缩进出现在公共互联网上。因此,身份验证更多地是为了阻止好奇的未经授权的人进行更改(想想有好心但知识不足的经理),而不是知道如何做中间人的恶意攻击者。

4

0 回答 0