情景:
我有一个在最新的Tomcat 6中运行的java Web应用程序。我还有一个提供身份验证的servlet过滤器。我支持BASIC auth,它似乎工作正常 - 大部分时间。
第一次浏览器[选择任何一个 - IE,FireFox,Opera,Safari,Chrome]命中我们受保护的URL之一时,它会显示标准的浏览器特定登录提示。 IFF你输入正确的用户名/密码 - 一切都很好,创建了一个新会话,一切都正常运行。
但是,如果您在初始BASIC auth对话框中输入了无效凭据,我的身份验证过滤器逻辑会通过返回另一个401响应来处理此问题。
问题: 不幸的是,此时,Chrome是唯一一个显示另一个BASIC身份验证对话框的浏览器。列出的所有其他浏览器会自动发送缓存的“授权:基本...”标题 - 而不是清除它并再次提示用户。
如果有人看过这个或者可能知道为什么会这样,我会非常感谢任何建议!
谢谢和最诚挚的问候, 鲍勃
答案 0 :(得分:0)
问题解决了:
再次查看我的代码之后,我发现了一个返回401的点而没有设置WWW-Authenticate HEADER。
-Bob