Tomcat 中的缓存控制
我们遇到了 Internet Explorer 的问题,它无法处理设置为 no-store 的 SSL 下载的缓存控制标头。有关详细信息,请参阅 http://support.microsoft.com/kb/323308。
不幸的是,当启用 Tomcat 身份验证时,它似乎会自动添加带有值 no-store 的 Cache-control 标头。
我知道在 Tomcat 中使用 BasicAuthenticator 时有一个解决方法。请参阅http://daveharris.wordpress .com/2007/07/09/how-to-configure-cache-control-in-tomcat/。该解决方案描述了在身份验证器上使用disableProxyCaching 属性。
但是,我们使用 org.apache.catalina.ha.authenticator.ClusterSingleSignOn 进行 SSO 身份验证,该身份验证似乎不具有disableProxyCaching 属性。使用 SSO 时是否可以更改缓存控制标头?
We have run into a problem with Internet Explorer where it is unable to handle the Cache-control header set to no-store for SSL downloads. See http://support.microsoft.com/kb/323308 for more details.
Unfortunately when Tomcat authentication is enabled it appears to automatically add the Cache-control header with the value no-store.
I know that there is a workaround for when using the BasicAuthenticator in Tomcat. See http://daveharris.wordpress.com/2007/07/09/how-to-configure-cache-control-in-tomcat/. This solution describes using the disableProxyCaching attribute on the authenticator.
However, we are using SSO authentication using org.apache.catalina.ha.authenticator.ClusterSingleSignOn which does not appear to have the disableProxyCaching attribute. Is there a way to change the cache-control headers when using SSO?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用将在 tomcat 施加的缓存控制标头上运行的过滤器。
response.setHeader("缓存控制", );
chain.doFilter(请求,响应);
You can use a Filter that will run over the cache-control header that tomcat imposes.
response.setHeader("cache-control", );
chain.doFilter(request, response);