springSecurity6.4.1配置X-Frame-Options
时间: 2024-12-27 09:22:29 浏览: 2
### 配置 X-Frame-Options 头
为了在 Spring Security 6.4.1 中配置 `X-Frame-Options` HTTP 安全响应头,可以利用内置的安全配置方法。此头部用于指示浏览器是否应该允许在一个 `<frame>` 或 `<iframe>` 中加载页面,以此预防点击劫持攻击。
通过自定义安全配置类并重载其配置方法,可以在应用程序中设置该头部。具体来说,在扩展了 `WebSecurityConfigurerAdapter` 的配置类中的 `configure(HttpSecurity http)` 方法内实现这一功能[^1]:
```java
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.headers()
.frameOptions().policy(FrameOptionsPolicy.DENY);
// Other configurations...
}
}
```
上述代码片段展示了如何拒绝任何框架加载当前网页的方式之一——即调用 `.frameOptions().policy(FrameOptionsPolicy.DENY)` 来阻止所有尝试嵌入页面的行为。除了 `DENY` 政策外,还可以选择其他两种政策:`SAMEORIGIN` 和 `ALLOW_FROM uri`(后者仅适用于某些旧版本)。对于大多数情况而言,推荐使用 `SAMEORIGIN` 策略以确保只有来自同一源的页面才能将本页作为 iframe 加载。
如果正在使用的不是继承自 `WebSecurityConfigurerAdapter` 的方式,则可以直接在 `@Bean` 注解的方法里创建 `SecurityFilterChain` 实现相同的效果:
```java
@Bean
public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
http.headers()
.frameOptions().sameOrigin(); // 使用 SAMEORIGIN 策略
// 其他配置...
return http.build();
}
```
阅读全文