`

spring security 4 http资源无法静态资源缓存设置

阅读更多
spring security 4 对比spring security 3 对http缓存进行了禁止,需要开启,才能进行http静态资源缓存。

看官方文档

In the past Spring Security required you to provide your own cache control for your web application. This seemed reasonable at the time, but browser caches have evolved to include caches for secure connections as well. This means that a user may view an authenticated page, log out, and then a malicious user can use the browser history to view the cached page. To help mitigate this Spring Security has added cache control support which will insert the following headers into you response.
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0

Simply adding the <headers> element with no child elements will automatically add Cache Control and quite a few other protections. However, if you only want cache control, you can enable this feature using Spring Security’s XML namespace with the <cache-control> element and the headers@defaults-disabled attribute.

<http>
	<!-- ... -->

	<headers defaults-disable="true">
		<cache-control />
	</headers>
</http>


@EnableWebSecurity
public class WebSecurityConfig extends
WebSecurityConfigurerAdapter {

@Override
protected void configure(HttpSecurity http) throws Exception {
	http
	// ...
	.headers()
		.defaultsDisabled()
		.cacheControl();
}
}


解决方案:
1. 直接关闭header 的设置
<headers disabled="true" />

2.开启缓存
<headers>
	<cache-control disabled="true"/>
</headers>
分享到:
评论

相关推荐

    SpringSecurity静态资源.rar

    在“SpringSecurity静态资源.rar”这个压缩包中,我们可以推测包含的是与SpringSecurity项目相关的静态资源文件,如CSS样式表、JavaScript脚本、图片等,这些文件通常用于构建Web应用的前端界面。 SpringSecurity在...

    spring-security静态资源

    在讨论“spring-security静态资源”这个主题时,我们将深入探讨Spring Security如何处理Web应用中的静态资源,如JavaScript、CSS、图片等。 1. **静态资源的安全访问** Spring Security 提供了一种机制来保护静态...

    狂神说SpringSecurity静态资源.rar

    "狂神说SpringSecurity静态资源.rar"很可能是狂神(一位知名的IT教育博主)分享的一系列关于SpringSecurity教程的资料,包含了模板(templates)和静态资源(static)两个部分。 在SpringSecurity中,静态资源的...

    狂神 SpringSecurity 静态资源.zip

    《狂神SpringSecurity静态资源详解》 在Java Web开发领域,Spring Security是一个强大的安全框架,它为应用程序提供了全面的安全管理解决方案。"狂神 SpringSecurity 静态资源.zip"这个压缩包,想必是包含了关于...

    spring security 参考手册中文版

    12.1设置MockMvc和Spring Security 104 12.2 SecurityMockMvcRequestPostProcessors 105 12.2.1使用CSRF保护进行测试 105 12.2.2在Spring MVC测试中以用户身份运行测试 106 12.2.3使用RequestPostProcessor在Spring ...

    13. 处理静态资源(自定义资源映射)【从零开始学Spring Boot】

    当使用Spring Security时,需要确保静态资源路径不在安全控制范围内,否则用户可能无法正常访问。在Spring Security配置中,可以这样设置: ```java @Override protected void configure(HttpSecurity http) ...

    基于SpringBoot+Mybatus-Plus+Redis+SpringSecurity开发的公司官网

    在"基于SpringBoot+Mybatis-Plus+Redis+SpringSecurity开发的公司官网"这个项目中,开发者可能已经实现了用户登录认证、权限管理、页面静态资源的缓存等功能,从而构建了一个高效且安全的企业级网站。 综上所述,...

    静态资源、struts2、Hibernate、Spring、js核心jar包

    这里提到的“静态资源、Struts2、Hibernate、Spring、js核心jar包”涵盖了Web开发中的几个关键组件。让我们逐一深入探讨它们的重要性及如何在项目中运用。 1. 静态资源: 静态资源主要包括HTML、CSS、JavaScript...

    SpringBootWeb静态资源_ciqojoinxac.rar

    Spring Security可以用来限制对特定静态资源的访问。 8. **使用Spring MVC处理静态资源** 尽管Spring Boot有默认配置,但也可以使用Spring MVC的`ResourceHandlerRegistry`进行更细粒度的控制,如自定义处理器逻辑...

    SpringBoot静态资源处理共5页.pdf.zip

    6. **安全考虑**:在使用Spring Security时,需要确保静态资源不受无权限访问限制。可以使用`permitAll()`方法允许所有用户访问静态资源。 7. **WebJars**:SpringBoot支持WebJars,这是一种方便引入前端库(如...

    springmvc-demo03-静态资源访问处理.zip

    除了默认的`DefaultServletHttpRequestHandler`,Spring MVC还提供了其他静态资源处理器,如`ResourceHttpRequestHandler`,它允许我们自定义更复杂的资源处理逻辑,比如添加HTTP头信息、缓存策略等。 对于安全性,...

    SpingBoot-Web静态资源.zip

    3. **缓存控制**:SpringBoot允许开发者通过配置`spring.resources.cache-period`来设置静态资源的缓存时间,这对于优化用户体验和减轻服务器压力非常有用。 4. **Gzip压缩**:SpringBoot支持Gzip压缩,可以提高...

    02_用户模块和加入样式和spring对静态文件的放行

    不恰当的配置可能会让攻击者获取敏感资源,因此必须谨慎设置允许访问的静态资源路径,并结合Spring Security等工具进行适当的安全控制。 8. **HTTP缓存**: 优化用户体验的一个常见做法是利用HTTP缓存机制,让...

    Springboot静态资源

    - 使用`@EnableWebMvc`注解可以启用Spring MVC,进一步自定义静态资源的处理方式,例如设置资源路径、缓存策略等。 - 如果使用Thymeleaf、FreeMarker等模板引擎,静态资源可能放在`templates`目录下,模板引擎会...

    基于SpringBoot+SpringSecurity+Thymeleaf新冠疫情管理系统设计毕业设计.zip

    这是一个基于Spring Boot、Spring Security和Thymeleaf技术栈构建的新冠疫情管理系统的设计与实现项目,适合于毕业设计或深入理解这三大框架在实际项目中的应用。以下是对该项目中涉及的关键知识点的详细说明: 1. ...

    SpringMVC专栏8、RESTful案例static静态资源

    - 使用缓存策略,例如设置HTTP响应头的`Cache-Control`,使得浏览器可以缓存静态资源,减少不必要的网络请求。 5. **安全考虑**: 静态资源也可能成为攻击目标,因此需要确保它们的安全性。例如,不要在`static`...

    多用户商城系统开发的JAVA。用SpringBoot、MybatisPlus、SpringSecurity.zip

    用SpringBoot、MybatisPlus、SpringSecurity.zip"是一个基于Java技术栈的电商项目,主要利用了SpringBoot、MybatisPlus和SpringSecurity三个核心框架。接下来,我们将深入探讨这些技术以及在多用户商城系统中的应用...

    基于SpringBoot+Mybatis+SpringSecurity+Redis+ElasticSe的个人博客系统(源码)

    基于RBAC模型构建权限管理模块,并集成安全框架SpringSecurity,实现用户的认证和授权。 使用Spring Data集成缓存中间件Redis,加快访问速度。 使用Spring Data集成全文搜索搜索引擎ElasticSearch,实现文章信息的...

    spring4视频教程

    ### Spring4 视频教程知识点概述 #### 一、Spring框架简介 - **Spring框架**:Spring 是一个开源框架,最初由 Rod Johnson 创建,目的是为了简化企业级应用开发的复杂性。 - **版本**:本教程针对的是 Spring4 ...

Global site tag (gtag.js) - Google Analytics