问题:
项目中打算把Druid的界面用IFrame嵌入前端页面中,访问的时候出现
/druid/index.html' in a frame because it set 'X-Frame-Options' to 'deny'
造成原因:
因为项目中使用的认证安全框架是SpringCloud Oauth2,它又依赖于SpringSecurity
SpringSecurity为了防止见面被Frame,默认设置了属性为 deny.
解决办法:
修改SpringSecurity的Frame配置.
X-Frame-Options配置的值有三种:
- someOrigin : 页面可以在相同域名中被Frame
- deny : 不允许被Frame
- disable : 禁用Frame
因为我们的项目前端和后端在同一域中,我便使用了
http.headers().frameOptions();
如果配置了还不生效,修改Druid的依赖包,修改成了:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<ver