spring security - 如何删除某些 url 模式中的缓存控制

标签 spring spring-security cache-control response-headers

我正在尝试过滤一些 url 模式以进行缓存。 我尝试的是将一些代码放入 WebSecurityConfigurerAdapter 实现中。

 @Override
protected void configure(HttpSecurity http) throws Exception {
    initSecurityConfigService();

    // For cache
    http.headers().defaultsDisabled()
            .cacheControl()
            .and().frameOptions();

    securityConfigService.configure(http,this);
}

但是这段代码会影响所有的网络应用程序。我如何将其应用于某些 URLContent-Type,例如 images

我已经尝试过使用 RegexRequestMatcher,但它对我不起作用。

// For cache
        http.requestMatcher(new RegexRequestMatcher("/page/", "GET"))
                .headers().defaultsDisabled()
                .cacheControl()
                .and().frameOptions();

我读了这篇文章:SpringSecurityResponseHeaders , 但没有这种情况的样本。

谢谢。

附言简而言之,我想删除某些 url 和资源的 SpringSecurity defaults

最佳答案

拥有多个 WebSecurityConfigurerAdapter 怎么样?一个适配器可以对某些 URL 进行缓存控制,而另一个适配器不会对这些 URL 启用缓存控制。

关于spring security - 如何删除某些 url 模式中的缓存控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42638687/

相关文章:

java - spring抽象="true"是什么意思?

java - 使用 Spring 框架存储上传图像的最合适位置

java - Spring MVC Web 应用程序检测暴力攻击的最佳方法?

spring - 尝试使用 Spring Boot 4 设置正确的 HTTPS

http - HTTP 中缓存控制 header 的最大值

java - Spring Security with CAS Rest(直接登录)

java - Spring启动Apache kafka Binder 项目,application.properties spring.cloud.stream.kafka.binder。 jaas 属性未知

java - 无法将 Spring 测试与异步 + Spring Security 一起使用

c++ - 缓存在处理设备时会有限制吗?

java - Wicket:正确缓存 CSS 资源