IE,FireFox,Opera和Safari在服务器的连续401响应中不显示BASIC auth提示符

时间:2010-12-27 13:08:11

标签: caching basic-authentication http-status-code-401

情景:

我有一个在最新的Tomcat 6中运行的java Web应用程序。我还有一个提供身份验证的servlet过滤器。我支持BASIC auth,它似​​乎工作正常 - 大部分时间。

第一次浏览器[选择任何一个 - IE,FireFox,Opera,Safari,Chrome]命中我们受保护的URL之一时,它会显示标准的浏览器特定登录提示。 IFF你输入正确的用户名/密码 - 一切都很好,创建了一个新会话,一切都正常运行。

但是,如果您在初始BASIC auth对话框中输入了无效凭据,我的身份验证过滤器逻辑会通过返回另一个401响应来处理此问题。

问题: 不幸的是,此时,Chrome是唯一一个显示另一个BASIC身份验证对话框的浏览器。列出的所有其他浏览器会自动发送缓存的“授权:基本...”标题 - 而不是清除它并再次提示用户。

如果有人看过这个或者可能知道为什么会这样,我会非常感谢任何建议!

谢谢和最诚挚的问候, 鲍勃

1 个答案:

答案 0 :(得分:0)

问题解决了:

再次查看我的代码之后,我发现了一个返回401的点而没有设置WWW-Authenticate HEADER。

-Bob