【发布时间】:2020-12-27 01:05:53
【问题描述】:
在我的 Spring MVC (5.0.3) 应用程序中,我添加了一个类 SecurityConfig,它扩展了 WebSecurityConfigurerAdapter,如下所示:
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter
{
@Override
protected void configure(HttpSecurity http) throws Exception
{
http.headers().contentSecurityPolicy("script-src 'self'");
}
}
我的期望是在浏览 http://localhost:2020/webapp/ 之后,我会在浏览器的开发者控制台(网络选项卡)中看到 CSP 标头。但是,响应头中没有添加任何与 CSP 相关的内容。
我通过在http.headers().contentSecurityPolicy("script-src 'self'"); 行应用断点进行了检查,它在上下文加载期间命中了一次。
为什么没有在响应中添加 CSP 标头有什么问题?
更新:我什至尝试使用http.headers(),根据文档,此调用没有附加方法,将添加默认安全标头。但就我而言,没有添加任何默认安全标头。
根据要求,我已经上传了最小的、可重复的示例@Google Drive,click here 以供下载
【问题讨论】:
-
抱歉,我无法重现您的问题。您能否提供一个mvce 示例?
-
@s7vr 请检查有问题的 MVCE 更新。
-
您好,您是在使用 Vue.js 或 Angular 之类的单页应用程序框架作为前端,而对于运行他们提供的开发服务器的前端,我刚刚在我的一个项目中尝试使用 Vue .js,如果通过代理服务器发出请求,我没有得到内容安全策略,但如果我直接调用由 spring boot 启动的 tomcat 服务器,配置就在那里,即使我尝试使用邮递员调用直接在后端的端点,我得到内容安全策略
标签: java spring-mvc spring-security