虽然SpringSecurity可以通过内置内容安全策略(CSP)配置,但它默认将配置策略指定为字符串配置,而不是动态构建它。但是在有些情况下,我们需要更灵活的配置方式。
特别是,CSP阻止用户使用内联javascript,因为它引入了漏洞。如果你真的需要它,你可以用unsafe-inline
但这是一个糟糕的方法,因为它否定了CSP的全部观点。在该页上提供的替代方法是使用hash
或nonce
.
如果您使用的是.and().headers().contentSecurityPolicy(policy)
。策略字符串是静态的,因此您不能为每个请求生成一个随机的none。而拥有一个静态的现在是无用的。首先,定义一个CSP当前过滤器:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |